反序列化漏洞

admin 2025年2月18日22:17:01评论22 views字数 677阅读2分15秒阅读模式
反序列化漏洞
01
定义

想象一下,你有一个复杂的玩具(对象),为了方便存放,你把它拆成零件(序列化)。当你需要玩的时候,再把零件拼回去(反序列化)。

  • 序列化:将对象(如Java对象、PHP数组)转换为字符串或二进制数据,便于存储或传输。

  • 反序列化:将字符串或二进制数据还原为对象。

  • 漏洞核心:攻击者通过篡改序列化数据,在反序列化时触发恶意代码执行。

02
危害
  • 读取敏感文件:/etc/passwd、数据库配置文件。

  • 执行系统命令:删除文件、植入后门。

  • 反弹Shell:完全控制服务器。

03
函数
  • Java:ObjectInputStream.readObject()。

  • PHP:unserialize()。

  • Python:pickle.loads()。

  • .NET:BinaryFormatter.Deserialize()。

04
示例

1、经典案例:Apache Commons Collections(CC链)

攻击流程:

  • 构造恶意序列化数据。

  • 触发反序列化,执行任意代码。

反序列化漏洞

2、PHP反序列化

利用链:魔术方法__wakeup()、__destruct()。

反序列化漏洞

3、Python反序列化漏洞

利用链:__reduce__魔术方法

反序列化漏洞
05
防护措施

1、禁用危险函数。

反序列化漏洞

2、输入验证:白名单校验。

3、系统层:沙箱隔离。

06
真实案例

某云平台漏洞

漏洞点:Kubernetes API未过滤反序列化数据。

后果:删除了生产环境所有容器,导致全球服务中断6小时。

07
思考题

某网站过滤了所有非数字和.字符,如何执行Linux系统中的id命令?

08
下期预告

《网安60秒丨JWT攻击》

原文始发于微信公众号(小白学安全):网安60秒丨反序列化漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月18日22:17:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   反序列化漏洞https://cn-sec.com/archives/3746589.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息