XXE(xml external entity injection)
一、xxe漏洞
xml外部实体注入漏洞,发生在应用程序解析xml输入时,没有禁止外部实体的加载、导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。是XML注入的一种,普通的XML注入利用面比较狭窄,如果有的话也是逻辑类漏洞。XXE扩大了攻击面。
xxe是一种针对xml终端的实施攻击,想要实施这种攻击需要在xml的payload的包含外部实体声明,且服务器本身允许实体扩展,这样就能读取web服务器文件系统,通过unc路径访问远程文件,或者http/https连接主机
php里解析xml用的是libxml,其在大于等于2.9.0的版本中,默认禁止解析xml外部实体
二、XML
XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。