XXE

377 字

XXE

XXE 是 XML 外部实体注入。问题出在 XML 解析器允许文档引用外部实体,导致服务器读取本地文件、访问内网地址或造成资源消耗。

出现场景

虽然现代接口更多使用 JSON,但 XML 仍常见于老系统、支付回调、SOAP、SAML、Office 文档、SVG、RSS、配置导入和某些企业集成接口。

风险 说明
文件读取 解析器读取服务器本地文件
SSRF 解析器向内部或外部地址发起请求
拒绝服务 特殊实体膨胀导致资源耗尽
信息泄露 报错中带出路径、实体内容或网络结果

识别思路

如果接口接收 XML、SVG、Office 文档或带有 XML 结构的上传文件,就要关注解析器配置。错误信息中出现 DTD、entity、DOCTYPE、SAX、DOM 等字样时,也说明 XML 解析链路值得检查。

防护要点

关闭外部实体和 DTD 解析,升级安全的 XML 解析库。对上传文档和 SVG 做类型、大小、结构限制,解析过程放在隔离环境中,并避免把底层解析错误直接返回给用户。

Licensed under CC BY-NC-SA 4.0