-
[Renewal] webhacking.kr old-21 [250]$ 웹 해킹 $/webhacking.kr 2020. 1. 10. 22:46
문제를 한번 확인해 보겠습니다.
BLIND SQL Injection 이라고 되어 있습니다.
guest / guest 를 한번 해보겠습니다.
login success 라고 출력이 됩니다.
그렇다면 admin에 1234를 입력해 보면 아래와 같습니다.
login fail 이라고 출력을 하는 것 같네요
admin / ' or '1=1 를 입력 해보겠습니다.
wrong password 라고 출력이 됩니다.
admin / ' or ' 0 을 입력 해보겠습니다.
login fail 이 출력이 됩니다.
참이면 wrong password , 거짓이면 login fail을 출력하는것 같습니다.
먼저 pw의 길이를 구해야 할 것 같습니다.
admin / ' or length(pw)>0%23 을 URL 로 넣어주면 아래와 같이 출력을 해줍니다.
이 페이로드로 길이를 구하면 되는 것 같습니다.
위의 코드가 pw의 길이를 구하는 코드입니다.
pw_length is 5 라고 출력을 해줍니다.
이제 pw를 구할차례입니다.
위의 코드를 이용해 보면 값이 나옵니다.
출력된 값은 ghere 입니다.
admin / ghere 로 로그인을 해보면 login fail을 출력합니다.
이런 경우에 데이터 베이스에서 값을 가져올때 알파벳의 우선순위로 인해서 잘못 가져오는 경우가 있습니다.
위 경우에는 ghere가 아니라 there 인데 그이유가 guest / guest 라는 데이터가 들어가 있을 것인데 t보다 g가 먼저 출력되기 때문입니다.
이번에는 admin / there 로 넣어 봤지만.. login fail을 출력합니다.
혹시나 pw의 길이가 5아닐수도 있겠다 싶어서 break 를 출력해 보겠습니다.
실행 결과로 pw_length is 36 이 출력 됬습니다.
아래의 코드를 이용해서 pw를 다시 출력을 해보면 아래와 같이 출력을 합니다.
pw는 there_is_no_rest_for_the_white_angel 입니다.
admin / there_is_no_rest_for_the_white_angel 으로 로그인 해보면 아래와 같습니다.
'$ 웹 해킹 $ > webhacking.kr' 카테고리의 다른 글
[Renewal] webhacking.kr old-23 [200] (0) 2020.01.10 [Renewal] webhacking.kr old-22 [500] (0) 2020.01.10 [Renewal] webhacking.kr old-20 [200] (0) 2020.01.10 [Renewal] webhacking.kr old-19 [150] (0) 2020.01.10 [Renewal] webhacking.kr old-18 [100] (0) 2020.01.10