LOS 26단계 시작!
코드를 보니 admin의 no 값을 알아내는 문제이다.
no 에는 숫자밖에 넣을 수 없기 때문에 id 에서 조건을 만들어 내야 한다.
조건을 통해 no 의 정보를 알아내보자!
no의 자리수를 알아내기 위해 다음과 같이 쿼리들를 입력하였다.
?id='||no>%23&no=%0a1000
no의 자리수를 부등호를 통해서 알아내는 쿼리로 #는 한 줄 주석이라는 것을 이용하여 no 에 개행문자를 통해
다음 줄에 값을 넣어 비교하였다.
결과는 다음과 같이 "Hello admin" 을 출력하는 것을 볼 수 있었다.
이 조건을 이용하여 Python 으로 no의 길이와 값을 알아내는 코드를 작성하였다.
패스워드의 길이는 31자리부터 비교하여 알아내었고,
알아낸 길이를 통해 자리수마다 9부터 비교해 내려가면서 값을 찾아내었다.
결국 no 의 값은 마지막 비교한 값에서 1을 더해준 값이 된다.
성공!
'WarGame > LOS (Lord Of SQLInjection)' 카테고리의 다른 글
28단계 : frankenstein (0) | 2020.01.27 |
---|---|
27단계 : blue_dragon (0) | 2020.01.26 |
25단계 : green_dragon (0) | 2020.01.22 |
24단계 : evil_wizard (0) | 2020.01.22 |
23단계 : hell_fire (0) | 2020.01.21 |