Sploitus

Exploit for Improper Input Validation in Apache Tomcat

githubexploit · 2024-12-09

Exploit Code

README42 lines
## https://sploitus.com/exploit?id=DBAB9CA6-CD91-51AA-9F7A-E0E1C8B92231
# Apache Tomcat DoS Exploit (CVE-2024-24549)

## Descripción

Este repositorio contiene un exploit de prueba de concepto (PoC) para un ataque de denegación de servicio (DoS) contra **Apache Tomcat versión 9.0.83**, basado en un problema identificado en el manejo de encabezados HTTP y cargas útiles. Este script genera solicitudes HTTP maliciosas utilizando múltiples hilos para provocar la sobrecarga del servidor objetivo.

> **Nota**: Este exploit es únicamente para fines educativos y de investigación. No debe utilizarse para atacar sistemas sin la autorización expresa del propietario.

## Características

- **Soporte de múltiples hilos**: Envío concurrente de solicitudes maliciosas para maximizar el impacto.
- **Configuración personalizable**: Permite ajustar el número de solicitudes, hilos concurrentes, intervalo entre solicitudes y más.
- **Registro de actividad**: Guarda detalles de cada solicitud enviada en un archivo de registro.
- **Payload dinámico**: Genera encabezados HTTP y cuerpos de solicitudes aleatorios para evitar patrones predecibles.

## Uso

### Requisitos previos

- **Python 3.8+**
- Biblioteca estándar de Python (no requiere instalación adicional).

### Instalación

1. Clona este repositorio:
   ```bash
   git clone https://github.com/JFOZ1010/CVE-2024-24549.git
   cd CVE-2024-24549
   ```
2. Ejecucion: (Ejecuta el script con los siguientes argumentos):
   ```
    python3 exploit.py --host  --port  --num-requests  --concurrent-threads  --request-interval 
   ```
Parámetros:

    --host: Dirección del servidor objetivo (por defecto: localhost).
    --port: Puerto del servidor objetivo (por defecto: 8080).
    --num-requests: Número total de solicitudes a enviar (por defecto: 1000).
    --concurrent-threads: Número de hilos concurrentes (por defecto: 10).
    --request-interval: Intervalo entre solicitudes en segundos (por defecto: 0.5).
    --log-file: Nombre del archivo de registro (por defecto: requests.log).