LELexEdge词汇锋面
网络安全专业术语

XXE

XML External Entity

XXE · 用 XML 偷走服务器上的文件

攻击/渗透应用安全
XXE
定义
XXEXML External Entity网络安全领域的专业术语XXE 通过在 XML 输入中定义外部实体,诱使服务器解析时加载本地文件或发起内部网络请求。

最后更新:2026-03-18

什么是XXE?

XXE 通过在 XML 输入中定义外部实体,诱使服务器解析时加载本地文件或发起内部网络请求。虽然现代框架默认禁用外部实体,但遗留系统和配置不当仍常见此漏洞。

  • 利用 XML 解析器的外部实体功能
  • 可读取服务器文件或发起 SSRF
  • 现代框架默认禁用但遗留系统仍有风险

XXE详解

XXE 攻击的原理是 XML 规范允许定义外部实体(如 <!ENTITY xxe SYSTEM "file:///etc/passwd">),解析器会自动加载实体内容。攻击者可借此读取服务器文件、探测内网、甚至执行拒绝服务(Billion Laughs 攻击)。防御方式是禁用 XML 外部实体解析,或使用 JSON 替代 XML。

XXE的应用场景

正式定义

利用 XML 解析器的外部实体功能读取文件或发起内部请求的注入攻击

应用场景

  • XML 接口的安全测试
  • 文件读取和内网探测
  • OWASP Top 10 漏洞检测

常见误区

  • XXE 不只能读文件,还能做 SSRF 和 DoS
  • 禁用 DTD 是最彻底的防御
  • 不只是 XML API,Office 文档和 SVG 也可能触发 XXE

实际案例

📌 XXE 实战

攻击者在上传的 SVG 图片中嵌入 XXE payload,服务器解析 SVG 时触发外部实体加载,读取了 /etc/passwd 文件内容。

XXE的参考来源

关于XXE的常见问题

XXE 能做什么
读取服务器本地文件、SSRF 访问内网、拒绝服务(Billion Laughs 攻击),严重时可实现 RCE。
怎么防御 XXE
禁用 XML 外部实体解析、使用 JSON 替代 XML、升级 XML 解析库、输入验证。