이번 문제는 id 뒤에 #으로 주석처리가 되어있어서 뒷 구문이 모두 먹히지 않게 된다.
이처럼 평소대로 구문을 넣었는데 주석처리되다보니 뒷 구문이 막혔다.
여기서 취약점은 #의 경우 한 줄만 주석처리를 하는 특성이 있다.
그렇기 때문에 \n, 줄바꿈을 활용해 줄을 바꾸어주면 뒷 구문을 이용할 수 있을것이다.
우선 \n을 넣어보았는데 이러면 적용이 안된다. URL 인코딩 구문인 %0a를 넣어주면 \n 으로써의 동작을 하게된다.
\n을 어디에 넣어주어야할까. # 뒤에 구문, 즉 and pw=' 까지는 #으로 버리고 그 뒤에 새로운 구문을 작성해야하니 pw에 바로 %0a로 줄바꿈을 해주면 된다. 그 뒤 and pw=1 or id='admin'--+- 와 같이 넣어주면 될것이다.
위 구문을 통해 and pw=' 까지는 주석처리 되고 그 다음에 줄바꿈 구문을 넣어서 and pw=1... 부터는 정상적으로 쿼리가 삽입되게 된다.
'3. 웹 애플리케이션 취약점 진단 > Lord of Sql Injection' 카테고리의 다른 글
lord of sql injection 22번 - dark_eyes (0) | 2023.12.22 |
---|---|
lord of sql injection 21번 - iron_golem (0) | 2023.12.22 |
lord of sql injection 19번 - xavis (0) | 2023.12.22 |
lord of sql injection 18번 - nightmare (0) | 2023.12.22 |
lord of sql injection 17번 - zombie_assassin (0) | 2023.12.22 |