1. 题目:The mystery of ip
拿到题目开始并未发现奇怪的地方,有一个flag.php页面会显示出我的ip,hint.php页面源码下有如下提示
<!-- Do you know why i know your ip? -->
因此猜测可能与ip有关,而常见的ip控制方法我们可以想到利用X-Forwarded-For属性,抓包flag.php页面,构造
X-Forwarded-For:127.0.0.1
查看回显,果然ip发生的变化。
这里尝试进行sql注入,但是无反应,通过翻阅大佬的wp发现这题目是模板注入ssti。确实是第一次遇见,之前都是python下的模板注入。
存在注入的情况下,可以直接执行php函数,如
{if phpinfo()}{/if}
常规的类似于python的写法也是可以的
{{phpinfo()}}
本题没有别的过滤了,因此直接构造payload读取flag
X-Forwarded-For:{{system('cat /flag')}}
成功获取flag
2 . 题目:[CISCN2019 华东南赛区]Web11
这题和上一道题基本一样,根据提示构造X-Forwarded-For属性,然后执行命令即可。
想要有更多的了解可以看看这位大佬的博客。
https://blog.csdn.net/qq_45521281/article/details/107556915
3. 模板注入的一些特性
常见的注入可以用下图的方法进行测试。