pikachu靶场通关指南之PHP反序列化之随波逐流writeup

作者:长弓三皮 发布:2026-09-12 08:00 收录:2026-09-16 08:37 1 次阅读 约 664 字
摘要:随波逐流WEB安全工具:一站式Web安全全能工具箱!集成了50+种扫描模块,涵盖SQL注入、XSS、LFI、RCE、SSRF等经典与现代漏洞检测方式,支持内置浏览器调试、请求头实时监控、Headers自动穿透等多种高级功能,是CTF竞赛选手和网络安全学习者的必备利器!
推荐理由:本文围绕「PHP反序列化」、「Web安全」等主题展开。

逐流工作室—-探索前沿科技,分享最新软件。点击标题下蓝字“长弓三皮”关注,我们将为您提供有深度、有价值、有意思的阅读。

朋友们,现在只对常读和星标的公众号才展示大图推送,建议大家把长弓三皮设为星标”,否则可能就看不到了啦!

作者:随波逐流


pikachu WEB




随波逐流
WriteUp


打开 [随波逐流]WEB安全工具访问 pikachu

        先搞清楚两个函数

        1、php中serialize(),

        2、unserialize()


        序列化serialize()就是把一个对象变成可以传输的字符串,比如下面是一个对象:
         class S{
                 public $test="pikachu";
                     }    $s=new S();          //创建一个对象    serialize($s);       //把这个对象进行序列化    序列化后得到的结果是这个样子的:    O:1:"S":1:{s:4:"test";s:7:"pikachu";}
        片段
        含义
        O
        Object,代表这是对象类型数据
        1
        类名的字符串长度,类名S占 1 个字符
        "S"
        类的名称
        1
        对象包含1 个成员属性
        { ... }
        大括号内部存放属性键值对
        s
        string,字符串类型
        4
        属性名test的字符长度为 4
        "test"
        对象的属性名称
        s
        string,字符串类型
        7
        属性值pikachu字符长度为 7
        "pikachu"
        属性对应的具体数值

        反序列化 用  unserialize()把被序列化的字符串还原为对象。
        $u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}");echo $u->test;   //得到的结果为pikachu

        序列化和反序列化本身没有问题,后台不正当的使用了PHP中的魔法函数,就会导致安全问题

                1、常见的几个魔法函数:
                        __construct()    //当一个对象创建时被调用        __destruct()     //当一个对象销毁时被调用        __toString()    //当一个对象被当作一个字符串使用        __sleep()       //在对象在被序列化之前运行        __wakeup        //将在序列化之后立即被调用                2、漏洞举例:        class S{            var $test "pikachu";            function __destruct(){                echo $this->test;            }        }        $s $_GET['test'];        @$unser unserialize($a);        payload:O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}

        PHP反序列化 

        [随波逐流]WEB安全工具  打开

        系统给了一附上例子payload:
        O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}

        代码

        <?phpclass S{
        var $test="<script>alert(navigator.userAgent)</script>";
                 }
        $a=new S();
        echo serialize($a);?>


        [随波逐流]WEB安全工具--工具--代码运行器













        公众号内输入
         搜索公众号+题目标题
        可搜索到此文章


        -------------------------------------------

        软件发布网址: 随波逐流信息安全网

        http://www.1o1o.xyz

        微信公众号:长弓三皮

        --------------------------------------------


        你若喜欢,为“长弓三皮”点个哦 

        转载声明:本文转载自原发布平台 (作者:长弓三皮), 原文标题《pikachu靶场通关指南之PHP反序列化之随波逐流writeup》, 查看原文。 版权归原作者及原发布平台所有,本站仅作收录与展示,未对正文内容作实质性修改; 若涉及侵权请联系本站处理。