首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Apache Tomcat CVE-2025-24813漏洞检测工具

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

原创
作者头像
qife122
发布2025-12-31 23:49:33
发布2025-12-31 23:49:33
50
举报

项目标题与描述

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),格式如下:Hostname,IP address TestServer,192.168.56.101 AnotherServer,192.168.56.102
  2. 运行检测脚本: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==

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目标题与描述
  • 功能特性
  • 安装指南
    • 系统要求
    • 依赖安装
    • 安装步骤
  • 使用说明
    • 基础使用
    • 输出说明
  • 核心代码
    • 1. 报告初始化模块
    • 2. 日志记录模块
    • 3. 主脚本结构
    • 4. 安全配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档