보통 SQL Injection이라고 하면, 이 공격에 해당한다.
이번에도 모든 신용카드 번호가 보이도록 만들라고 하고 있다.
주어진 Smith로 질의하면, 다음과 같이 Smith가 가진 정보를 보여준다.
' or 1=1--를 주면,
SELECT * FROM user_data WHERE last_name = '' or 1=1-- 이라는 쿼리가 만들어진다.
last_name = ''은 거짓이지만, 1=1이 참이며 or로 묶여 있어 전체적으로 참이 되게 된다.
그리고 --라는 ORACLE DBMS의 주석을 달아줌으로써 뒤에 나오는 문장을 무시한다.
즉, SELECT * FROM user_data를 한 셈이 된다.
이대로 질의를 던지면, 모든 이들의 카드 정보를 조회할 수 있다.
'[Wargame Write-up] > WebGoat' 카테고리의 다른 글
[WebGoat] [Injection Flaws] Command Injection (0) | 2016.10.27 |
---|---|
[WebGoat] [Injection Flaws] Database Backdoors (0) | 2016.10.27 |
[WebGoat] [Injection Flaws] Numeric SQL Injection (0) | 2016.10.27 |
[WebGoat] [Cross-Site Scripting (XSS)] Cross Site Request Forgery (CSRF) (0) | 2016.10.25 |
[WebGoat] [Cross-Site Scripting (XSS)] Reflected XSS Attacks (0) | 2016.10.25 |