http://web.isangxcaution.xyz:28282/

http://web.isangxcaution.xyz:28282/

가장 처음 보는 화면입니다.

노래 제목이 Cookie인 것을 보니까 쿠키를 사용하는 문제 같습니다.

쿠키도 마찬가지로 처음 다뤄봅니다.

Newjeans.py

from flask import Flask, request, render_template, make_response, Response

app = Flask(__name__)

try:
    FLAG = open('./flag.txt', 'r').read()
except:
    FLAG = 'IxC{*** REDUCTED ***}'

@app.route('/')
def index():
    resp = make_response(render_template('index.html', text="Can you get the correct answer?"))
    resp.set_cookie('answer', 'no')
    cookie = request.cookies.get('cookie', None)
    
    if cookie:
        if cookie == "Yammy":
            resp = make_response(render_template('index.html', text=f'Congratulations! flag is {FLAG}'))
            resp.set_cookie('answer', 'yes')
    return resp
    
app.run(host='0.0.0.0', port=8282)

그리고 문제 파일과 코드입니다.

추측했던 것처럼 쿠키가 등장하고 있습니다.

cookie 값이 answer에 no가 저장되고, 이 값이 Yammy일 때 flag를 받을 수 있는 것 같습니다.

<aside> 💡 틀렸습니다. cookie가 아니라 answer가 no, yes로 나오는 것이며, flag를 얻기 위해서는 이름이 ‘cookie’인 쿠키가 “Yammy”라는 값을 가지고 있어야 합니다. 이후로는 삽질한 과정을 담고 있으며, 정해는 가장 아래로 또 다른 콜아웃이 나올 때까지 내려가시면 됩니다.

</aside>

Untitled

일단 쿠키를 어떻게 보는지부터 물어봤습니다.

Untitled

쿠키 answer가 no를 가지고 있는 것을 확인했습니다.

근데 여기서 바로 Yammy로 바꾸고 새로고침했더니 다시 no로 바뀌어 있었습니다.