WEB漏洞-XXE&XML之利用检测绕过

 免责声明: 本内容仅为【小迪安全-web渗透测试】的学习笔记,仅用于技术研究,禁止使用文章中的技术进行非法行为,如利用文章中技术进行非法行为造成的后果与本文作者无关。

WEB漏洞-XXE&XML之利用检测绕过_第1张图片

什么是XML?参考文档

XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。

XML与HTML对比

XML被设计为传输和存储数据,其焦点是数据的内容。

HTML被设计为显示数据,其焦点是数据的外观。

XML旨在传输信息,HTML旨在传输信息。

Xml典型代码:





 
 
 
 
 
]]]>


Dave
Tom
Reminder
You are a good man

XXE漏洞

XXE漏洞全称XML External Entity Injection,即外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁用外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。

各脚本支持的协议

 WEB漏洞-XXE&XML之利用检测绕过_第2张图片

存在xxe的情况下:

玩法-读文件


 
]>
&xxe; &xxe;
//xxe为变量,读取test.txt
//打印出来

用file协议读指定路径的文件

显示结果:

玩法-内网探针或攻击内网应用(触发漏洞地址)内网探针




]>
&rabbit;

引入外部实体dtd,dtd就是xml的后缀,识别为xml格式

如果设置了禁止外部实体引用,将会失效



%file;
]>
&send;

可以在远程服务器evil2.dtd写上:

无回显-读取文件




%dtd;
%send;
]>

Base64加密是反正传输中乱码,传输失败。

本地192.168.0.103上构造:

test.dtd:

"
>
%payload;

开启日志,看日志就可以看到test.txt数据了。

协议-读文件(绕过)

参考:https://www.cnblogs.com/20175211lyz/p/11413335.html


 ]>
&f;

如何检测:

  1. 数据格式类型:如果发现有testMikasa  类型
  2. 抓包发现  content-type中是  text/xml  或者 application/xml
  3. 盲猜:更改content-type值application/xml看返回

burp上抓包 右键

do an active scan:扫描漏洞

Send to spider:爬行

利用爬行,找到有xml,把xml代码拷贝到post上既可以利用

实践:

CTF-Vulnhub-XXE安全真题复现

例子:

扫描IP及端口->扫描探针目录->抓包探针xxe安全->利用xxe读取源码->flag指向文件->base32 64解密->php运行->flag

xxe安全漏洞自动化注射脚本工具-XXEinjector(Ruby)

https://www.cnblogs.com/bmjoker/p/9614990.html
xxe_payload_fuzz

很多靶场镜像的网站:

https://download.vulnhub.com

xxe漏洞修复与防御方案-php,java,python-过滤及禁用

方案1-禁用外部实体

PHP:

libxml_disable_entity_loader(true);

JAVA:

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferences(false);

Python:

from lxml import etreexmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

方案2-过滤用户提交的XML数据

过滤关键词:


涉及资源:

https://github.com/c0ny1/xxe-lab

https://download.vulnhub.com/xxe/XXE.zip   //靶场

https://github.com/enjoiz/XXEinjector

https://www.cnblogs.com/bmjoker/p/9614990.html  //xxe注入工具

https://www.cnblogs.com/20175211lyz/p/11413335.html  //介绍xxe


 本文来自:

http://www.pingtaimeng.com/article/detail/id/1554938
https://www.cnblogs.com/trevain/p/13651273.html
https://blog.51cto.com/u_15162069/2774409

你可能感兴趣的:(渗透测试,网络安全,xml,XXE)