查看网页源代码,发现提示: 与flask框架的 secret_key有关。
这个是模板注入的题,所以可以猜测思路是利用模板注入漏洞将secret_key变量的值回显到页面上。
如果没有才有猜到,那就利用payload先执行个ls命令看看根目录下有什么。
具体利用什么样的payload和为什么利用它见我的另一篇模板注入相关的笔记。
发现有这些文件
然后查看app文件夹里有什么
发现有app.py 有可能是源代码。
所以利用漏洞执行cat命令查看内容
根据红线,我们也可以知道,要想获取flag,就得获取 app.config[‘SECRET_KEY’]。
究竟如何获取,我是笨比,猜不到,也不熟悉flask,看了答案以后发现是
python执行 :
config['SETRET_KEY']
可以获得它的值,所以构造payload
{{config[‘SETRET_KEY’]}},把它传给后端,后端会执行它的同时把它渲染到html, 然后,后端把渲染好的html传给我们,我们就看到了结果.