实战之低版本tomcat-getshell
字数 901 2025-08-12 11:34:39

低版本Tomcat Getshell实战教学文档

环境背景

  • 目标系统: Linux
  • Tomcat版本: 6.0
  • 初始发现: 存在弱口令漏洞

常规War包上传尝试

第一次尝试

  1. 直接修改文件后缀为.war尝试上传
  2. 结果: 部署失败,显示"false"
  3. 尝试点击"start"也无法成功部署
  4. 无法通过web访问上传的war包

War包生成方式改进

  1. 使用标准命令生成war包:
    jar cvf jmc.war ./
    
  2. 结果: war包成功部署
  3. 问题: 访问时出现502错误

JSP文件问题排查

  1. 尝试将jsp文件改为txt后缀上传
    • 结果: txt文件可以正常访问
  2. 结论: 问题出在jsp文件处理或目录结构上

JSP马子尝试

  1. 测试了多种低版本兼容的jsp马子:
    • 1.8jdk版本的马子
    • 各种低版本兼容马子
    • 命令执行马子
    • 大马
  2. 结果: 均无法正常工作

目录结构尝试

  1. 尝试多层目录结构部署
  2. 结果: 仍然失败

Axis2部署突破方案

发现思路

  1. 研究axis2与tomcat的上传问题
  2. Axis2可以通过aar后缀文件进行部署

实施步骤

  1. 获取合适的aar包(从GitHub找到其他师傅分享的aar包)
  2. 通过aar后缀进行部署
  3. 结果: 成功部署

最终成果

  1. 成功获取shell
  2. 解决了低版本Tomcat常规war包部署失败的问题

关键知识点总结

  1. Tomcat 6.0特性:

    • 对某些war包部署方式有特殊要求
    • JSP处理可能存在兼容性问题
  2. War包生成:

    • 必须使用标准jar命令生成
    • 直接修改后缀可能导致部署失败
  3. Axis2部署:

    • 可作为低版本Tomcat的替代部署方案
    • 使用aar后缀而非war
    • 需要特定构造的aar包
  4. 问题排查流程:

    • 从简单到复杂逐步尝试
    • 通过txt文件验证基础功能
    • 关注错误代码(如502)的含义

防御建议

  1. 针对管理员:

    • 升级Tomcat到最新版本
    • 修改默认密码为强密码
    • 限制上传文件类型
    • 监控部署目录变化
  2. 针对开发者:

    • 避免在生产环境使用低版本Tomcat
    • 禁用不必要的部署功能
    • 实现文件上传白名单机制
  3. 针对安全人员:

    • 了解低版本Tomcat的特殊利用方式
    • 收集各类aar利用包
    • 掌握多种部署失败时的替代方案
低版本Tomcat Getshell实战教学文档 环境背景 目标系统 : Linux Tomcat版本 : 6.0 初始发现 : 存在弱口令漏洞 常规War包上传尝试 第一次尝试 直接修改文件后缀为.war尝试上传 结果 : 部署失败,显示"false" 尝试点击"start"也无法成功部署 无法通过web访问上传的war包 War包生成方式改进 使用标准命令生成war包: 结果 : war包成功部署 问题 : 访问时出现502错误 JSP文件问题排查 尝试将jsp文件改为txt后缀上传 结果 : txt文件可以正常访问 结论: 问题出在jsp文件处理或目录结构上 JSP马子尝试 测试了多种低版本兼容的jsp马子: 1.8jdk版本的马子 各种低版本兼容马子 命令执行马子 大马 结果 : 均无法正常工作 目录结构尝试 尝试多层目录结构部署 结果 : 仍然失败 Axis2部署突破方案 发现思路 研究axis2与tomcat的上传问题 Axis2可以通过aar后缀文件进行部署 实施步骤 获取合适的aar包(从GitHub找到其他师傅分享的aar包) 通过aar后缀进行部署 结果 : 成功部署 最终成果 成功获取shell 解决了低版本Tomcat常规war包部署失败的问题 关键知识点总结 Tomcat 6.0特性 : 对某些war包部署方式有特殊要求 JSP处理可能存在兼容性问题 War包生成 : 必须使用标准jar命令生成 直接修改后缀可能导致部署失败 Axis2部署 : 可作为低版本Tomcat的替代部署方案 使用aar后缀而非war 需要特定构造的aar包 问题排查流程 : 从简单到复杂逐步尝试 通过txt文件验证基础功能 关注错误代码(如502)的含义 防御建议 针对管理员 : 升级Tomcat到最新版本 修改默认密码为强密码 限制上传文件类型 监控部署目录变化 针对开发者 : 避免在生产环境使用低版本Tomcat 禁用不必要的部署功能 实现文件上传白名单机制 针对安全人员 : 了解低版本Tomcat的特殊利用方式 收集各类aar利用包 掌握多种部署失败时的替代方案