XXE简介
XXE全称XML External Entity,XML外部实体注入攻击。
攻击者通过构造恶意的外部实体,当解析器解析了包含“恶意”外部实体的XML类型文
件时,便会导致被XXE攻击。XXE漏洞主要由于危险的外部实体引用并且未对外部实体
进行敏感字符的过滤,从而可以造成命令执行,目录遍历等。
一个包含外部实体的xml样本
在解析XML文档的过程中,关键字’SYSTEM’会告 诉XML解析器,entityex 实体的值将从其后的URI中读取。实体entityex的值会被替换为URI(file://etc/passwd)内容值。
因此,攻击者可以通过实体将他自定义的值发送给应用程序,然后让应用程序去呈现。
简单来说,
攻击者强制XML解析器去访问攻击者指定的本地系统上或是远程系统上的资源内容。
XXE的危害
1、导致可加载恶意外部文件、读取任意未授权文件;
2、恶意消耗内存进行dos攻击,
3、探测内网信息(如检测服务、内网端口扫描、攻击内网网站等)
4、命令执行,目录遍历等
5、有些XML解析库支持列目录,攻击者通过列目录、读文件,获取帐号密码后进一步攻击,如读
取tomcat-users.xml得到帐号密码后登录tomcat的manager部署webshell。