본문 바로가기
dreamhack

[Dreamhack] 🌱 simple-web-request (Beginner)

by yejin_l 2023. 11. 7.
728x90

Description

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

 

풀이

step 1. 접속 정보 사이트로 접속

처음 접속 시 STEP 2나 FLAG에 들어가려 하면 'Not Yet'라고 메시지가 나온다. STEP 1부터 차례대로 해결하야 하는 것 같다.

STEP 1에 들어가 보면 이렇게 나온다.

 

step 2. 문제 파일 확인

    if request.method == "GET":
        prm1 = request.args.get("param", "")
        prm2 = request.args.get("param2", "")
        step1_text = "param : " + prm1 + "\nparam2 : " + prm2 + "\n"
        if prm1 == "getget" and prm2 == "rerequest":
            return redirect(url_for("step2", prev_step_num = step1_num))
        return render_template("step1.html", text = step1_text)
    else:
        return render_template("step1.html", text = "Not POST")

  app.py 코드를 살펴보았다. 이 코드를 통해 STEP1을 해결할 수 있을 것 같다.

이렇게 작성하고 제출하면 STEP 2로 넘어가진다.

           prev_step_num = request.form.get("check", "")
        try:
            if prev_step_num == str(step2_num):
        ####

                prm1 = request.form.get("param", "")
                prm2 = request.form.get("param2", "")
                if prm1 == "pooost" and prm2 == "requeeest":
                    return render_template("flag.html", flag_txt=FLAG)
                else:
                    return redirect(url_for("step2", prev_step_num = str(step1_num)))
            return render_template("flag.html", flag_txt="Not yet")
        except:
            return render_template("flag.html", flag_txt="Not yet")

param에는 pooost를, param2에는 requeeest를 입력하고 제출하면 FLAG가 나온다.

728x90

'dreamhack' 카테고리의 다른 글

[Dreamhack] ex-reg-ex (Beginner)  (0) 2023.11.08
[Dreamhack] baby-linux (Beginner)  (0) 2023.11.07
[Dreamhack] proxy-1 (LEVEL 1)  (0) 2023.10.05
[Dreamhack] Carve Party (Beginner)  (0) 2023.10.05
[Dreamhack] devtools-sources (Beginner)  (0) 2023.10.03