从druid未授权到getshell
字数 1171 2025-08-03 16:43:28

从Druid未授权访问到GetShell的完整利用过程

前言

本文详细记录了一个从Druid未授权访问漏洞到最终获取WebShell的完整渗透测试过程。目标网站具有注册功能但需要邀请码,通过一系列技术手段最终实现了系统入侵。

漏洞发现与利用过程

1. Druid未授权访问发现

通过目录扫描发现目标系统存在Druid监控界面未授权访问漏洞。Druid是阿里巴巴开源的一款数据库连接池工具,如果配置不当,其监控页面可能无需认证即可访问。

2. 获取有效Session

通过Druid的URL监控功能发现文件上传接口,但该接口需要登录后才能使用。

利用工具druid_sessions(https://github.com/yuyan-sec/druid_sessions)从Druid监控页面提取Session信息。

爆破Session过程:

  • 尝试使用无效Session访问受保护页面会返回错误
  • 通过爆破找到有效的Session后可正常访问受保护页面

3. 文件上传漏洞利用

使用获取的有效Session访问文件上传接口:

  1. 尝试直接上传.jsp/.jspx文件,被系统拦截提示"非法"
  2. 测试其他后缀名(如1.xxx)可以成功上传,确认存在任意文件上传漏洞
  3. 系统仅对.jsp/.jspx等常见WebShell后缀做了黑名单过滤

4. Windows特性绕过黑名单

利用Windows文件系统特性实现绕过:

  • 使用特殊格式1.jsp::$DATA作为文件名上传
  • ::$DATA是Windows NTFS文件系统的流特性,可以绕过简单的后缀名检查
  • 上传成功后,实际文件会被保存为1.jsp,从而获得WebShell

关键点总结

  1. Druid未授权访问:检查/druid/index.html等路径,确认是否存在未授权访问

  2. Session提取与爆破

    • 从Druid监控页面提取Session
    • 使用工具自动化爆破有效Session
    • 验证Session有效性
  3. 文件上传漏洞利用

    • 确认黑名单过滤机制
    • 测试各种后缀名验证任意文件上传
    • 利用Windows特性绕过过滤(::$DATA)
  4. 防御建议

    • 配置Druid监控页面访问权限
    • 加强Session管理,避免Session泄露
    • 文件上传应使用白名单机制而非黑名单
    • 对上传文件名进行规范化处理,去除特殊字符

工具与资源

  • Druid Session提取工具:https://github.com/yuyan-sec/druid_sessions
  • Windows文件流特性:可用于绕过的多种格式(::$DATA, :DATA, ::$INDEX_ALLOCATION等)

注意事项

  1. 本文所述技术仅限安全研究使用
  2. 未经授权测试他人系统属违法行为
  3. 实际渗透测试必须获得书面授权
从Druid未授权访问到GetShell的完整利用过程 前言 本文详细记录了一个从Druid未授权访问漏洞到最终获取WebShell的完整渗透测试过程。目标网站具有注册功能但需要邀请码,通过一系列技术手段最终实现了系统入侵。 漏洞发现与利用过程 1. Druid未授权访问发现 通过目录扫描发现目标系统存在Druid监控界面未授权访问漏洞。Druid是阿里巴巴开源的一款数据库连接池工具,如果配置不当,其监控页面可能无需认证即可访问。 2. 获取有效Session 通过Druid的URL监控功能发现文件上传接口,但该接口需要登录后才能使用。 利用工具 druid_sessions (https://github.com/yuyan-sec/druid_ sessions)从Druid监控页面提取Session信息。 爆破Session过程: 尝试使用无效Session访问受保护页面会返回错误 通过爆破找到有效的Session后可正常访问受保护页面 3. 文件上传漏洞利用 使用获取的有效Session访问文件上传接口: 尝试直接上传.jsp/.jspx文件,被系统拦截提示"非法" 测试其他后缀名(如1.xxx)可以成功上传,确认存在任意文件上传漏洞 系统仅对.jsp/.jspx等常见WebShell后缀做了黑名单过滤 4. Windows特性绕过黑名单 利用Windows文件系统特性实现绕过: 使用特殊格式 1.jsp::$DATA 作为文件名上传 ::$DATA 是Windows NTFS文件系统的流特性,可以绕过简单的后缀名检查 上传成功后,实际文件会被保存为 1.jsp ,从而获得WebShell 关键点总结 Druid未授权访问 :检查 /druid/index.html 等路径,确认是否存在未授权访问 Session提取与爆破 : 从Druid监控页面提取Session 使用工具自动化爆破有效Session 验证Session有效性 文件上传漏洞利用 : 确认黑名单过滤机制 测试各种后缀名验证任意文件上传 利用Windows特性绕过过滤( ::$DATA ) 防御建议 : 配置Druid监控页面访问权限 加强Session管理,避免Session泄露 文件上传应使用白名单机制而非黑名单 对上传文件名进行规范化处理,去除特殊字符 工具与资源 Druid Session提取工具:https://github.com/yuyan-sec/druid_ sessions Windows文件流特性:可用于绕过的多种格式( ::$DATA , :DATA , ::$INDEX_ALLOCATION 等) 注意事项 本文所述技术仅限安全研究使用 未经授权测试他人系统属违法行为 实际渗透测试必须获得书面授权