GlassFish任意文件读取漏洞(附批量检测脚本+样本)

作者:Adil | 发布时间:

一、背景

GlassFish是针对Java语言的一款同商业兼容的应用服务器。可以帮助开发者快速调试java应用所需要的资源,以及java程序的部署。

Payara Production Features 1

二、漏洞简述

  • 漏洞原理:

    • 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/

  • 示例效果

image-20221130082653190

三、补充:

  • 一台香港含该漏洞的主机:传送门

  • 批量检测该漏洞的脚本:下载(脚本+IP检测样本,测试70+IP含有该问题)

  • 进一步攻击设想:

    • 读取主机密码文件(譬如:/etc/shadow),使用hashcat进行解密

    • 于主机内寻找可能的配置文件,譬如数据库、网站账密等敏感信息

    • 于主机内寻找备份文件,下载后进行本地分析

    • fofa批量检测:"GlassFish" && port="4848"

标签:漏洞分享