
18번째 문제 nightmare 다.
코드를 보면
#, - 의 주석 문자를 필터링 하고
pw 부분의 파라미터 길이가 6 이하여야 한다.
문제를 풀면서 도저히 모르겠어서 구글링을 해봤는데, 알게 된 사실이 2가지 있다.
- 문자를 + - 처럼 연산하거나 > = 처럼 비교할 경우 해당 문자는 0으로 자동 형변환된다.
- null 문자를 이용해 쿼리문을 조기 종료 시킬 수 있다.
→ ex) pw=’123’\n and id=’admin’ 이면 pw=’123’ 까지만 쿼리가 실행된다.
→ 문자열의 끝이 원래 ‘\0’ 이기 때문에 mysql 이 문자열의 끝으로 인식하기 때문이다.
따라서 쿼리문을 짜보면
pw=')=0;%00

풀었다!
'Web > LOS' 카테고리의 다른 글
| LOS - dragon (0) | 2024.10.18 |
|---|---|
| LOS - xavis (0) | 2024.10.18 |
| LOS - zombie_assassin (0) | 2024.10.18 |
| LOS - succubus (1) | 2024.10.18 |
| LOS - assassin (0) | 2024.10.18 |