大致思路 首先是一个类sercet 接受$cmd,绕过正则 ,反序列化。覆盖$file的值,绕过 __wakeup,显示the_next.php的源码 1 <?php2classsercet{3private$file='index.php';45publicfunction __construct($file){6$this->file=$file;7}89function__destruct(){10echoshow_source($this->file,true);11}1213funct...
CVE-2016-7124(绕过__wakeup)复现 漏洞影响版本: PHP5 < 5.6.25 PHP7 < 7.0.10 漏洞产生原因: 如果存在__wakeup方法,调用 unserilize() 方法前则先调用__wakeup方法,但是序列化字符串中表示对象属性个数的值大于 真实的属性个数时会跳过__wakeup的执行 <?php//听说flag在flag.php里面??? //来源:榆林...
"[1]=>string(2)"-h "[2]=>string(5)"--foo"} 2.2 php序列化操作解析 由第一部分的结果来解释: O:4:"xctf":1:{s:4:"flag";s:3:"111";} 序列化函数的作用:序列化对象或数组,并返回一个字符串。 各个字符的意义 --->o表示对象,a表示数组,s表示字符,i表示数字 3. wakeup()漏洞[绕过过滤...