2021-08-25 网安实验-Web渗透测试之序列化攻击

CTF-网络安全实验 专栏收录该内容
194 篇文章 2 订阅 ¥99.90 ¥99.00

序列化攻击

在php中,序列化过程中会涉及两个魔术方法,__sleep()和__wakeup(),serialize() 检查类中是否有魔术名称 __sleep 的函数,如果有,则该函数在序列化之前运行,它可以清除对象并应该返回一个包含有该对象中应被序列化的所有变量名的数组。如果该函数没有返回什么数据,则不会有什么数据被序列化,并且会发出一个 E_NOTICE 错误。

unserialize()检查具有魔术名称 __wakeup 的方法的存在,如果有,一样先运行该方法。但对于传入的序列化字符串,如果有错误,在进行反序列化的时候就会不触发 __wakeup() 这个方法,从而绕过该方法中的限制,造成漏洞。

在这里插入图片描述

但是我们可以通过在反序列中异常对象导致__wakeup()不被执行这个漏洞来绕过,再看看里面的两个过滤函数:
在这里插入图片描述

  • 2
    点赞
  • 5
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值