AI 助教问 AI 助教
东方瑞通 · CISP-PTE

XXE 外部实体注入

XXE 漏洞指 XML 解析器解析外部实体,攻击者构造恶意 XML 读取本地文件或发起 SSRF 请求。

考点精讲

  1. XML 通过 DTD(文档类型定义)声明实体,外部实体如 ]>,在正文引用 &xxe; 时即可读取本地文件内容并回显。危害包括:读取本地文件、探测内网、发起 SSRF、DoS。防护:禁用外部实体解析、过滤 DOCTYPE 声明。

记忆技巧

DOCTYPE 定义实体 + SYSTEM file:// 读文件
XXE = 读文件 + 内网探测(SSRF)

常见误区

  • 以为 XXE 只能读文件——还能 SSRF 和 DoS
  • 忽略 DTD 在定义实体中的作用
  • 以为 JSON 也有 XXE——XXE 针对 XML 解析器

真题思路

  • 【示例】 XXE 漏洞的核心是利用了 XML 的哪一特性()
    命名空间 DTD 外部实体 CDATA 段 XML 注释
    答案:B
    解析:XXE 本质是 XML 解析器解析了 DTD 中声明的外部实体,导致读文件或发请求,核心在外部实体,B 正确。

常见问题

Q:XXE 的原理是什么?

A:XML 解析器在解析时解析了 DTD 中声明的外部实体,攻击者构造恶意 XML 引用外部实体(如 SYSTEM "file:///etc/passwd"),使解析器读取本地文件或发起外部请求,造成信息泄露或 SSRF。

Q:DTD 和实体是什么关系?

A:DTD(文档类型定义)用于定义 XML 的结构,实体可在 DTD 中声明,正文中通过 &实体名; 引用实体。外部实体即指向外部资源(如文件、URL)的实体,是 XXE 利用的核心。

Q:XXE 能造成哪些危害?

A:读取本地文件、探测内网、发起 SSRF、造成 DoS 等。

Q:如何防护 XXE 漏洞?

A:禁用外部实体解析、过滤/禁止 DOCTYPE 声明等。

相关知识

教材出处:第4章 Web 漏洞 XXE 外部实体注入

AI 助教

让 AI 助教带你深入学习,把你卡住的地方直接问它

随时为您答疑解惑

开始答疑