The mystery of ip/[CISCN2019 华东南赛区]Web11 关于php下模板注入的思考

1. 题目:The mystery of ip

拿到题目开始并未发现奇怪的地方,有一个flag.php页面会显示出我的ip,hint.php页面源码下有如下提示


因此猜测可能与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
The mystery of ip/[CISCN2019 华东南赛区]Web11 关于php下模板注入的思考_第1张图片

2 . 题目:[CISCN2019 华东南赛区]Web11

这题和上一道题基本一样,根据提示构造X-Forwarded-For属性,然后执行命令即可。
想要有更多的了解可以看看这位大佬的博客。
https://blog.csdn.net/qq_45521281/article/details/107556915

3. 模板注入的一些特性

常见的注入可以用下图的方法进行测试。
The mystery of ip/[CISCN2019 华东南赛区]Web11 关于php下模板注入的思考_第2张图片
The mystery of ip/[CISCN2019 华东南赛区]Web11 关于php下模板注入的思考_第3张图片

你可能感兴趣的:(ctf,ctf,模板注入,php,web)