Share
## https://sploitus.com/exploit?id=5418A85B-F4B7-5BBD-B106-0800AC961C7A
# CVE-2024-38475_SonicBoom_Apache_URL_Traversal_PoC

Author: **abrewer251**

A proof-of-concept tool for testing CVE-2024-38475 ("SonicBoom") Apache URL traversal vulnerability. This script automates TLS negotiation, directory scanning, traversal verification, and payload fuzzing to identify unauthorized file access.

## Description

This repository contains a Python script (`poc.py`) that:

1. Negotiates the highest supported TLS/SSL protocol with the target.
2. Verifies generic directory traversal behavior.
3. Scans a directory wordlist for 403-protected directories.
4. Confirms traversal vulnerability per-directory.
5. Fuzzes file paths using custom payloads to detect real leaks.
6. Logs results to a specified output file.

This PoC helps security researchers and pen-testers rapidly validate the SonicBoom URL traversal flaw in Apache servers.

## Prerequisites

* **Python**: 3.6 or higher
* **Dependencies**:

  * `requests`

Install dependencies via pip:

```
pip install -r requirements.txt
```

> **Note**: `requirements.txt` should contain:
>
> ```
> requests
> ```

## Installation

1. Clone the repository:
```
git clone https://github.com/abrewer251/CVE-2024-38475_SonicBoom_Apache_URL_Traversal_PoC.git
cd CVE-2024-38475_SonicBoom_Apache_URL_Traversal_PoC
```
2. Make the script executable (optional):
```
chmod +x poc.py
```

## Run autoCurl.py to find out if PUT is a method allowed by the endpoint before continuing

## Usage of poc.py

```
python3 poc.py [OPTIONS]
```

### Required Argument

* `--schema`   Protocol to use (`http` or `https`)
* `--host`       Target host or IP
* `--port`       Target port
* `--directory-wordlist`  Path to directory wordlist file
* `--file-wordlist`    Path to file wordlist file
* `--output`       Path to write results to

### Optional Flags

| Flag                      | Description                                      | Default      |
| ------------------------- | ------------------------------------------------ | ------------ |
| `-p`, `--payloads` <list> | URL-encoded payloads to append (space-separated) | `%3f %3Fany` |
| `-h`, `--help`            | Show help message                                | —            |

## Examples

````
python3 poc.py \
  --schema https \
  --host 192.0.2.10 \
  --port 8443 \
  --directory-wordlist dirs.txt \
  --file-wordlist files.txt \
  --payloads "%2e%2e/" "%2e%2e%5C" \
  --output findings.log
````

## Output Details

The output file contains a line-by-line log of each test stage:

* **\[1/6] Negotiating TLS version negotiated
* **\[TRAVERSAL OK]** for successful generic traversal
* **\[403]** entries for protected directories found
* **\[TRAVERSAL OK] \<dir>** for per-directory traversal verification
* **\[200]** lines for actual file leaks discovered
* Final status line: `Done. Results saved to <output>`

Each log entry follows the format:

```
[Stage] Message or status
```

## License

Released under the MIT License. See [LICENSE](LICENSE) for details.