본문 바로가기

SWLUG/CTF

[CTF/Dreamhack] simple-web-request

 

🌱 simple-web-request

Description STEP 1~2를 거쳐 FLAG 페이지에 도달하면 플래그가 출력됩니다. 모든 단계를 통과하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. 📜

dreamhack.io

 

 

 simple-web-request

 

문제 설명

 

- STEP 1,2 단계가 있음

- flag.txt파일과 FLAG 변수에 플래그 있음

# 웹앱 프레임워크, Flask로 작성

 

 

 

 

문제 분석

 

 

1) 서버 생성 및 탐색

 

 

STEP1 화면

 

 

 

STEP2와 FLAG의 화면

 

 

 

(1) STEP1

 

우선 STEP1부터 해결해주도록 하자

 

 

메서드가 GET일 때, prm1(즉, param)이 getget이고 prm2(즉, param2)는 rerequest일 때 step2로 넘어갈 수 있는 것 같으니 입력해서 확인해보자.

 

 

(2) STEP2 -> FLAG

 

 

(1)단계에서 찾은 값을 입력하니 아래와 같은 창으로 넘어갔다.

 

 

 

 

다시 코드를 살펴보도록 하자.

 

STEP2라서 이 부분의 코드와 관련이 있나 싶었으나, FLAG와 관련된 부분이 없어 다음 코드를 살펴보았다.

 

 

 

이 코드에서는 FLAG를 여러 번 찾아볼 수 있었으며, 느낌이 이쪽일 것 같아서 찬찬히 살펴보았다.

 

 

 

중간 부분의 코드를 살펴보면, 이 부분이 위에서 STEP1 문제를 해결했던 코드와 비슷한 것 같은데... 

if prm1 == "pooost" and prm2 == "requeeest":
                    return render_template("flag.html", flag_txt=FLAG)

 

 

 

속는 셈 치고 해당 값을 넣어보았다.

 

 

 

 

플래그를 발견하였다!

 

 

 

 

 

 

 

 

 

 

 

내 느낌대로 푼 거라 (물론 인터넷의 힘도 빌려서...🤫) 스펀지 마냥 구멍이 숭숭 뚫려있는 얄팍한 성공이지만 

코드 내에 숨겨져 있는 힌트들을 하나씩 찾아 맞춰가는 것이 퍼즐맞추기 하는 것 같다. 

'SWLUG > CTF' 카테고리의 다른 글

[CTF/Dreamhack] easy-login  (0) 2024.05.21
[CTF/Dreamhack] web-misconf-1  (0) 2024.05.17
[CTF/Dreamhack] pathtraversal  (0) 2024.05.11
[CTF/Dreamhack] baby-union  (0) 2024.05.06
[CTF/Dreamhack] phpreg  (0) 2024.05.06