WebGoat(웹고트) Numeric SQL Injection

WebGoat(웹고트) Numeric SQL Injection

 

모든 지역의 날씨를 조회하면 문제해결

(1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Numeric SQL Injection을 찾아 이동합니다. (webgoat / webgoat)

 

(2) 사용자 값이 서버로 전달되는 과정을 확인합니다.

=> 조회내용은 credits에 입력이 됨

=> weather station: 지역 선택 (지역코드가 선택됨, 101,102,103,104 중)

=> 전달과정은

      POST attack?Screen44&menu=1100 

      station=101&SUBMIT=Go!

=> 서버 내부에서는 

      select * from weather_data where station = 101

 

(3) 공격자가 원하는 내용을 얻기위한 구문을 작성하여 값을 조작합니다.

공격자가 원하는 것은 모든 날씨의 정보를 얻는 것!

 

(3)-1 원래는 지역을 선택하면 해당 지역의 정보만 나오게 됩니다. 

=> 사용자 화면에서는 선택창으로 입력하므로 공격 문자열 입력을 할 수 없습니다. 따라서 Proxy 도구를 사용합니다.

 

(3)-2 Proxy에서 Intercept is on으로 변경하고, GO를 클릭합니다.

(3)-3 서버로 전달하는 요청 파라미터를 해당 구문으로 변경합니다.

변경 값 > 101 or 1 = 1

값을 설정하고 Intercept is off로 변경합니다.

 

(4) 결과확인

=> 모든 날씨 정보 조회