原理
XML 外部实体注入(也称为 XXE)是一种 Web 安全漏洞,允许应用程序对 XML 数据的处理,
在常见的web应用程序中,由于应用程序需要处理XML数据,因此可能会使用XML解析器来解析用户提交的XML数据。如果应用程序在解析XML数据时没有正确地禁用外部实体,攻击者就可以通过构造恶意XML数据来触发XML解析器漏洞,从而读取本地文件、执行任意命令等操作。如下就是一个恶意的XML语句。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<foo>&xxe;</foo>