WebGoat(웹고트) 이클립스에서 SQL Injection이 발생하는 원인 찾기(3)

소스코드를 통해 SQL Injection이 발생하는 원인찾기

[보안 취약점 진단 및 대응/WebGoat, Bee-Box] - WebGoat(웹고트) Blind Numeric SQL Injection

 

WebGoat(웹고트) Blind Numeric SQL Injection

WebGoat(웹고트) Blind Numeric SQL Injection pins 테이블에서 cc_number 컬럼 값이 1111222233334444인 pin 컬럼 값을 찾으면 문제해결 (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Blind Nume

psjin230.tistory.com


BlindNumericSqlInjection.java

 

#1 eclipse에서 Ctrl + Shift + R을 눌러 BlindNumericSqlInejction.Java를 검색합니다.

 

#2 문제가 되는 부분을 확인합니다.

외부에서 입력된 값(accountNumber)을 검증,제한하지 않고 SQL문 생성  및 실행에 그대로 사용하고 있습니다. Statement는 쿼리문을 안전하게 생성할 책임을 개발자가 가지고 있기 때문에 PreparedStatement 객체로 바꿔줘야합니다. 

 

#3 문제가 있는 코드를 수정합니다.

 

#4 실행결과 확인

입력칸에 다음 값을 입력 후 Go를 클릭합니다.

입력 값 > 101 and (select pin from pins where cc_number='1111222233334444') > 2000

=> 에러 발생

=> 이전에는 Account number is valid. 또는 Invalid account number. 문구가 떴었음