Apache Tomcat CVE-2025-24813漏洞检测工具

项目标题与描述

Apache Tomcat CVE-2025-24813 PoC检测工具

本项目是一个专门用于检测Apache Tomcat服务器CVE-2025-24813漏洞的概念验证(PoC)工具。该工具通过非侵入式的方式,对目标Tomcat服务器进行安全检查,包括版本识别、HTTP PUT权限测试和会话信息收集,所有操作均记录到详细的日志报告中。

功能特性

  • CSV批量处理:支持从CSV文件批量读取目标主机(需要包含"Hostname"和"IP address"两列)
  • 非侵入式检测:执行安全检测而不对目标系统造成破坏
  • 三重安全检查
    1. 从HTTP "Server"头中提取Tomcat版本信息
    2. 测试DefaultServlet的写权限(上传测试文件后立即删除)
    3. 获取目标服务器的会话ID
  • 完整日志记录:所有操作都带有时间戳和严重级别记录到控制台和报告文件
  • SSL支持:可处理HTTPS连接(默认禁用SSL警告用于测试)

安装指南

系统要求

  • Python 3.x
  • 网络连接权限
  • 对目标服务器的网络访问权限

依赖安装

bash 复制代码
pip install requests

安装步骤

  1. 克隆或下载项目文件到本地
  2. 确保Python环境已安装
  3. 安装所需的requests库
  4. 准备包含目标信息的CSV文件

使用说明

基础使用

  1. 准备CSV文件(如targets.csv),格式如下:
csv 复制代码
Hostname,IP address
TestServer,192.168.56.101
AnotherServer,192.168.56.102
  1. 运行检测脚本:
bash 复制代码
python3 cve_2025_24813_poc.py --csv targets.csv

输出说明

  • 控制台实时显示检测进度和结果
  • 在当前工作目录生成CVE_2025_24813_report.txt报告文件
  • 报告包含时间戳、检测目标和详细结果

核心代码

1. 报告初始化模块

python 复制代码
def init_report():
    """Initializes the report file in the current working directory."""
    global REPORT_FILE
    REPORT_FILE = os.path.join(os.getcwd(), "CVE_2025_24813_report.txt")
    try:
        with open(REPORT_FILE, 'w') as f:
            f.write("CVE-2025-24813 PoC Check Report\n")
            f.write(f"Start Time: {datetime.now()}\n")
            f.write("=" * 60 + "\n")
        log_message("INFO", "Report initialized.")
    except Exception as e:
        log_message("ERROR", f"Failed to initialize report file '{REPORT_FILE}': {e}")

2. 日志记录模块

python 复制代码
def log_message(level, message):
    """
    Logs a message with a timestamp and severity to the report file and prints it to the console.
    """
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    formatted = f"{timestamp} - {level} - {message}"
    print(f"{level}: {message}")
    try:
        with open(REPORT_FILE, 'a') as f:
            f.write(formatted + "\n")
    except Exception as e:
        pass

3. 主脚本结构

python 复制代码
#!/usr/bin/env python3
"""
PoC for CVE-2025-24813 (HTTP-based Checks Only) with CSV Input and Incremental Reporting

This script accepts a CSV file (with columns "Hostname" and "IP address") from the current working directory.
For each target, it performs the following non-intrusive checks:
  1. Extracts the Tomcat version from the HTTP "Server" header.
  2. Attempts an HTTP PUT on "CVE-2025-24813-check.txt" (with content "ThreatOPS was here --> MichaelFry@livenation.com")
     to determine if the DefaultServlet is write-enabled, then deletes the file.
  3. Retrieves a session ID from the target.
All actions are logged (with timestamps and severity levels) to the console and a report file in the CWD.
"""

4. 安全配置

python 复制代码
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning

# Disable SSL warnings for testing purposes
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

该代码设计为模块化结构,核心功能包括报告生成、日志记录和HTTP请求处理,确保检测过程的安全性和可追溯性。 6HFtX5dABrKlqXeO5PUv/xT3pvZhDSsm+vWSaxtXdTeO7ytUMNgVPToBhhL/tOZRxYBBwPndIbnaQlVbqmBmGQ==

相关推荐
江湖有缘3 分钟前
跨平台AI终端Wave:智能SSH与文件管理
运维·人工智能·ssh
IT_陈寒10 分钟前
Python装饰器把我坑惨了,原来这样用才不掉链子
前端·人工智能·后端
吃旺旺雪饼的小男孩11 分钟前
自动驾驶图像分割开源数据集指南(2026)
人工智能·开源·自动驾驶
A133455512 分钟前
视频特效字幕怎么翻译?保姆级AI字幕与外挂字幕教程
人工智能·音视频
飞哥数智坊14 分钟前
我给 DeepSeek 看了两次截图,才发现 Vision 真正的价值
人工智能·ai编程·deepseek
飞哥数智坊25 分钟前
AI提升了人效,但组织却接不住释放的生产力
人工智能
飞哥数智坊33 分钟前
什么才叫真正的端到端?
人工智能
武科大许志伟44 分钟前
从并行进化到分布式进化计算读 A Survey on Distributed Evolutionary Computation
人工智能·分布式·演化计算
长谷深风1111 小时前
好的 Tool Schema,不是字段越全越好
java·大数据·人工智能·ai agent·agent工作流·智能体设计·ai产品设计
Moon上有月亮1 小时前
Ollama 完全指南:本地大语言模型的“开箱即用”方案
人工智能·语言模型·自然语言处理·ollama