简单挖掘方法XXE漏洞详解漏洞如何防范提交请求
优采云 发布时间: 2021-04-28 03:20简单挖掘方法XXE漏洞详解漏洞如何防范提交请求
目录导航
XXE漏洞的挖掘方法和保护要了解xxe漏洞,您必须首先了解xmle文档的基础知识和基本组成
您的Web应用程序中是否存在XXE漏洞?
如果您的应用程序通过用户上传来处理XML文件或POST请求(例如,SAML用于单点登录服务甚至RSS),那么您很可能会受到XXE的攻击。 XXE是一种非常常见的漏洞,我们几乎每天都会遇到它
1.简单的挖掘方法
XXE漏洞的详细说明什么是XXE漏洞如何预防XXE漏洞
提交POST请求XML文件
提交POST请求,将Content-type:application / xml添加到请求标头中
同时添加测试代码
cat
通过OOB(带外)方法测试对文件的远程访问
1.建立一个网站开放端口80
2.提交了测试网站中的有效载荷,如下所示
&dtgmlf6ent;
3.查看网站返回内容
4.检查自建服务器访问日志,是否存在对DTD文件的请求等。
2.确认XXE漏洞
出于演示目的,我们将使用Acunetix维护的演示站点。这个网站是:该站点可用于测试Acunetix Web扫描仪的功能。访问该站点,然后单击“登录”下的“忘记密码”链接。注意应用程序如何使用XML传输数据,该过程如下图所示:
请求:
响应:
观察上面的请求和响应,我们可以看到应用程序正在解析XML内容,接受特定的输入,然后将其呈现给用户。为了测试并验证XML解析器确实在解析并执行我们的自定义XML内容,我们发送以下请求
修改后的请求和响应:
如上图所示,我们在上述请求中定义了一个名为myentity的实体,其值为“ testing”。响应消息清楚地表明解析器已经解析了我们发送的XML实体,然后呈现了该实体的内容。由此,我们可以确认该应用程序具有XXE漏洞
%payload;
%dtd;
%send;]>
3.查找XXE
1.检查是否已解析xml
abc
Bugcrowd
21
2.检查是否支持外部实体解析
abc
Bugcrowd
&xxe
4. xxe注入和利用步骤
将恶意内容写到用户可控制的XML数据中的实体中会导致诸如任意文件读取和系统命令执行之类的损害。
([1)测试是否允许外部实体引用
]>
&var;
([2)任何文件已读
]>
&var;
([3)通读PHP://过滤器
]>
&var;
([4) xxe注入测试代码
xxe.php是带有XXE注入漏洞的简单页面
<p>
XXE Example
XML File:
Result