반응형 Web Security/SecureCoding22 자원 삽입 - 외부 입력값을 검증하지 않고 시스템 자원에 대한 식별자로 사용하는 경우 문제가 될 수 있음 - 외부의 입력을 자원 식별자로 사용하는 경우, 적절한 검증을 거치도록 하거나 사전에 정의된 적합한 리스트에서 선택되도록 작성 예제1 : 적절한 검증을 거치도록 한다. 안전하지 않은 코드 ▼ public void service() throws IOException { int def = 1000; ServerSocket serverSocket; Properties props = new Properties(); String fileName = "file_list"; FileInputStream in = new FileInputStream(fileName); props.load(in); //외부에서 입력한 데이터를 .. 2022. 11. 11. SQL 삽입 데이터베이스와 연동된 웹 어플리케이션에서 입력된 데이터에 대한 유효성 검증을 하지 않을 경우, 공격자가 입력 폼 및 URL 입력란에 SQL 문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 보안약점을 말한다. 1) preparedStatement 클래스와 하위 메소드 executeQuery(), execute(), executeUpdate()를 사용하는 것이 바람직하다. 안전하지 않은 코드▼ String query = " SELECT * FROM " + tableName + " WHERE Name = " + name; 외부로부터 tableName 과 name 의 값을 받아서 SQL 쿼리를 생성하고 있다. 안전한 코드 ▼ String query = "SELECT * FROM ? WHERE Name.. 2022. 11. 11. 이전 1 2 3 4 5 다음 반응형