http://web.isangxcaution.xyz:28282/
가장 처음 보는 화면입니다.
노래 제목이 Cookie인 것을 보니까 쿠키를 사용하는 문제 같습니다.
쿠키도 마찬가지로 처음 다뤄봅니다.
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>
일단 쿠키를 어떻게 보는지부터 물어봤습니다.
쿠키 answer가 no를 가지고 있는 것을 확인했습니다.
근데 여기서 바로 Yammy로 바꾸고 새로고침했더니 다시 no로 바뀌어 있었습니다.