본문 바로가기

[Wargame Write-up]/WebGoat

[WebGoat] [Injection Flaws] Numeric SQL Injection

숫자를 이용한 SQL Injection 공격을 보이는 과정이다.


아래쪽에 쿼리가 보인다.




주어진 Columbia를 제출하면, 다음과 같이 101이라는 값으로 질의하게 된다.




해당 태그를 살펴보면, 이처럼 되어 있다.




2번째 option에 or 1=1이라는 조건연산을 덧붙이면


SELECT * FROM weather_data WHERE station = 101 or 1=1; 이라는 쿼리가 되며


WHERE 절의 조건이, 앞의 특정 station 번호에 관계없이, or 뒤의 1=1로 인해 완전 참이 되므로 WHERE 절이 의미없어진다.


즉, 모든 데이터를 뽑을 수 있게 된다.




질의를 실시하면, 아래처럼 모든 데이터를 볼 수 있다.