공대베짱이

Java 시스템 또는 구성 설정의 외부 제어

1. 정의 시스템 설정이나 구성요소를 외부에서 제어할 수 있으면 예상치 못한 결과(예: 서비스 중단)를 초래하거나 악용될 가능성이 있다. 2. 안전한 코딩 기법 외부의 입력을 Connection.setCatalog() 메소드의 인자값을 생성하는데 사용하지 않도록 한다. 불가피하게 사용해야 한다면, 외부의 입력을 화이트리스트 방식으로 검사한 후...

Java 메모리 누수

1. 메모리 누수란 메모리 누수는 더는 사용되지 않는 개체가 힙에 있지만, 가비지 수집기가 메모리에서 개체를 제거할 수 없어 불필요하게 유지 관리되는 상황이다. 메모리 누수는 메모리 리소스를 차단하고 시간이 지남에 따라 시스템 성능을 저하하기 때문에 좋지 않다. 그리고 처리하지 않으면 애플리케이션은 결국 리소스를 소진하고 결국 치명적인 java.la...

MyBatis SQL 삽입공격

1. 정의 외부에서 입력된 값이 질의어의 인자값으로만 사용되지 않고, 질의 명령어에 연결되는 문자열로 사용되면, 공격자가 의도하지 않았던 문자열을 전달함으로써 질의문의 의미를 왜곡시키거나 그 구조를 변경하여 임의의 데이터베이스 명령어를 수행할 수 있다. 2. 안전한 코딩 기법 외부의 입력으로부터 위험한 문자나 의도하지 않았던 입력을 ...