
Proof-of-concept exploit for CVE-2020-3452, a path traversal in Cisco ASA/FTD, enabling unauthenticated file disclosure. Automates extraction of known files with safety limits for authorized testing.
Proof-of-concept script for CVE-2020-3452 — Cisco ASA/FTD Path Traversal vulnerability. Supports automated extraction of known file targets with a hard limit on successful downloads for safety. Intended for authorized security testing and research purposes only.
Proof-of-concept script for CVE-2020-3452 — Cisco ASA/FTD Path Traversal vulnerability. Supports automated extraction of known file targets with a hard limit on successful downloads for safety. Intended for authorized security testing and research purposes only.
# CVE-2020-3452 PoC — Cisco ASA/FTD Path Traversal
This is a modified proof-of-concept exploit script for [CVE-2020-3452](https://nvd.nist.gov/vuln/detail/CVE-2020-3452), a directory traversal vulnerability affecting Cisco ASA and FTD devices.
The vulnerability allows unauthenticated, remote attackers to **read arbitrary files** on affected systems via a crafted HTTP request. This script automates that process by attempting to retrieve a predefined list of common configuration, portal, and HTML files, and stores successful responses locally.
> **⚠️ For authorized testing and research only. Use responsibly.**
---
## ✅ Features
- 🔁 Iterates through a curated list of target file paths known to exist on ASA/FTD systems.
- ✅ Only writes responses with **HTTP 200** and **non-empty content**.
- 🧮 Stops automatically after **200 successful downloads** to prevent abuse or noise.
- 🗂️ Writes all files to an `output/` directory, creating it automatically.
- 🔒 Sanitizes all output filenames to prevent accidental traversal or injection.
- 🧼 Suppresses SSL warnings (ASA certs are often self-signed).
---
## 🖥️ Usage
```bash
# Install dependencies
pip install requests
# Run the script
python3 cve_2020_3452.py <target-host>
Example:
python3 cve_2020_3452.py firewall.example.com
All successful files will be saved to the output/ folder.
You may also run the script interactively:
python3 cve_2020_3452.py
| Variable | Description |
|---|---|
MAX_SUCCESS_WRITES | Stops script after this number of HTTP 200 file saves (default: 200). |
OUTPUT_DIR | Directory where files will be written (default: output/). |
You can safely edit these at the top of the script.
CVE: CVE-2020-3452
Affected:
Impact: Allows unauthenticated file disclosure via crafted URL traversal.
This script is provided for educational and authorized security research purposes only.
MIT License — see LICENSE for details.
---
## 📦 requirements.txt
Include this in your repo to make setup easier:
```txt
requests
MIT License
Copyright (c) 2025
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...