资源共享吧-专业共享VIP视频

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 392|回复: 7

[网络安全/渗透测试] PHP反序列化漏洞代码审计

[复制链接]
  • TA的每日心情
    奋斗
    前天 12:34
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    658

    主题

    1294

    帖子

    1

    精华

    超级版主

    Rank: 8Rank: 8

    资源币
    11222
    积分
    5033
    贡献
    0
    在线时间
    1871 小时
    注册时间
    2015-4-20
    最后登录
    2020-4-3

    论坛管理员超级版主论坛核心终身成就常驻居民幽默大师灌水大师原创先锋精华会员宣传大使爱心大使版主专属勋章最佳版主优秀版主新人进步

    发表于 2019-4-11 17:27:19 | 显示全部楼层 |阅读模式
    PHP反序列化漏洞代码审计1、什么是序列化



    A、PHP网站的定义:

    所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。unserialize()函数能够重新把字符串变回php原来的值。 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。


    按个人理解就是:

    serialize()将一个对象转换成一个字符串,unserialize()将字符串还原为一个对象。
    当然从本质上来说,反序列化的数据本身是没有危害的,用户可控数据进行反序列化是存在危害的。


    B、PHP反序列化

    php允许保存一个对象方便以后重用,这个过程被称为序列化。为什么要有序列化这种机制呢?在传递变量的过程中,有可能遇到变量值要跨脚本文件传递的过程。试想,如果为一个脚本中想要调用之前一个脚本的变量,但是前一个脚本已经执行完毕,所有的变量和内容释放掉了,我们要如何操作呢?难道要前一个脚本不断的循环,等待后面脚本调用?这肯定是不现实的。因为这样的操作,在小项目还好,在大项目里是极其浪费资源的。但是如果你将一个对象序列化,那么它就会变成一个字符串,等你需要的时候再通过反序列化转换回变了变量,在进行调用就好了,在这样就剩了资源的使用。


    2、理解PHP反序列化漏洞
    PHP类中有一种特殊函数体的存在叫魔法函数,magic函数命名是以符号__开头的,比如 __construct, __destruct, __toString, __sleep, __wakeup等等。这些函数在某些情况下会自动调用,比如__construct当一个对象创建时被调用,__destruct当一个对象销毁时被调用,__toString当一个对象被当作一个字符串使用。
    而在反序列化时,如果反序列化对象中存在魔法函数,使用unserialize()函数同时也会触发。这样,一旦我们能够控制unserialize()入口,那么就可能引发对象注入漏洞。


    3、PHP反序列化漏洞利用的前提
    a.unserialize()函数的参数可控;
    b.php文件中存在可利用的类,类中有魔术方法


    游客,如果您要查看本帖隐藏内容请回复


    回复

    使用道具 举报

  • TA的每日心情

    昨天 15:58
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    2

    主题

    246

    帖子

    0

    精华

    终身高级VIP会员

    Rank: 7Rank: 7Rank: 7

    资源币
    252
    积分
    274
    贡献
    0
    在线时间
    83 小时
    注册时间
    2018-6-7
    最后登录
    2020-4-5

    终身VIP会员

    发表于 2019-4-11 17:46:10 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 14:43
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    5

    主题

    300

    帖子

    0

    精华

    终身高级VIP会员

    Rank: 7Rank: 7Rank: 7

    资源币
    341
    积分
    595
    贡献
    0
    在线时间
    73 小时
    注册时间
    2016-9-2
    最后登录
    2020-4-4

    终身VIP会员

    发表于 2019-5-10 17:59:59 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 23:36
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    2

    主题

    85

    帖子

    0

    精华

    终身高级VIP会员

    Rank: 7Rank: 7Rank: 7

    资源币
    113
    积分
    105
    贡献
    0
    在线时间
    38 小时
    注册时间
    2019-4-11
    最后登录
    2020-4-4

    终身VIP会员

    发表于 2019-5-13 10:20:34 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-3-26 09:25
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    4

    主题

    107

    帖子

    0

    精华

    终身高级VIP会员

    Rank: 7Rank: 7Rank: 7

    资源币
    85
    积分
    111
    贡献
    0
    在线时间
    16 小时
    注册时间
    2018-2-9
    最后登录
    2020-3-26

    终身VIP会员

    发表于 2019-5-13 10:29:56 | 显示全部楼层
    我发现我一天也离不开资源共享吧了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    26

    帖子

    0

    精华

    终身高级VIP会员

    Rank: 7Rank: 7Rank: 7

    资源币
    14
    积分
    34
    贡献
    0
    在线时间
    4 小时
    注册时间
    2019-2-10
    最后登录
    2019-8-16

    终身VIP会员

    发表于 2019-8-16 00:57:44 | 显示全部楼层
    谢谢楼主分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:03
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    5

    主题

    120

    帖子

    0

    精华

    终身高级VIP会员

    Rank: 7Rank: 7Rank: 7

    资源币
    28
    积分
    123
    贡献
    0
    在线时间
    8 小时
    注册时间
    2020-3-19
    最后登录
    2020-4-4

    终身VIP会员

    发表于 2020-3-19 23:57:53 | 显示全部楼层
    super
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    0

    主题

    19

    帖子

    0

    精华

    新手上路

    Rank: 1

    资源币
    14
    积分
    19
    贡献
    0
    在线时间
    2 小时
    注册时间
    2020-3-24
    最后登录
    2020-4-1
    发表于 2020-3-26 20:18:40 | 显示全部楼层
    感谢分享
    回复

    使用道具 举报

     点击右侧快捷回复  
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    ()

    GMT+8, 2020-4-5 09:43 , Processed in 0.042487 second(s), 10 queries , MemCached On.

    © 2001-2020 www.zygx8.com.

    快速回复 返回顶部 返回列表