
Nuclei-Vorlage mit mehrstufiger Validierung für CVE-2019-18935 (Telerik UI-Deserialisierung RCE). Enthält Handler-Erkennung, Versionsermittlung und Ausnutzungsnachweis mit einer Docker-Laborumgebung.
Dieses Repository enthält eine vollständige, validierte Nuclei-Vorlage zur Erkennung von CVE-2019-18935 (Telerik UI for ASP.NET AJAX Deserialization RCE), erstellt für das ProjectDiscovery-Bounty-Programm.
CVE-2019-18935 ist eine kritische .NET-Deserialisierungsschwachstelle in Progress Telerik UI for ASP.NET AJAX (Versionen 2011.1.315 bis 2019.3.1023), die eine nicht authentifizierte Remote-Codeausführung ermöglicht. Diese Schwachstelle:
.
├── README.md # Diese Datei
├── BOUNTY_PLAN.md # Ursprüngliches Planungsdokument
├── nuclei-templates/
│ └── cves/
│ └── 2019/
│ └── CVE-2019-18935.yaml # Haupt-Nuclei-Vorlage
├── docker-environment/ # Angreifbare Testumgebung
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── web.config
│ ├── Default.aspx
│ └── README.md
├── scripts/ # Exploit- und Validierungsskripte
│ ├── RAU_crypto.py # Verschlüsselungs-Hilfsmodul
│ ├── telerik_version_detect.py # Versionserkennungstool
│ └── telerik_exploit_poc.py # POC-Validierungsskript
├── documentation/ # Technische Dokumentation
│ ├── TESTING.md # Testanleitung
│ └── METHODOLOGY.md # Erkennungsmethodik
├── debug-output/ # Debug-Protokolle und -Ergebnisse (wird generiert)
└── payloads/ # Test-Payloads (optional)
✅ Vollständige POC-Implementierung - Nicht nur Versionserkennung
✅ Mehrstufige Validierung - Handler-Erkennung + Versionsprüfung + Exploit-Nachweis
✅ Wenig Fehlalarme - UND-Bedingung über mehrere Matcher
✅ Nicht-destruktiv - Sicheres Testen ohne tatsächliche Ausnutzung
✅ Umfassende Extraktion - Versionsinfo, Fehlerdetails, Erkennungsstufen
✅ Gut dokumentiert - Vollständige Methodik und Testanleitungen enthalten
# Nuclei installieren
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Python-Abhängigkeiten installieren (für Validierungsskripte)
pip3 install -r requirements.txt
# Docker installieren (für Testumgebung)
# Siehe: https://docs.docker.com/get-docker/
# Test gegen ein einzelnes Ziel
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-v
# Test mit Debug-Ausgabe
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-debug -v
# Test gegen mehrere Ziele
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-l targets.txt \
-json -o results.json
# In das Docker-Umgebungsverzeichnis wechseln
cd docker-environment
# Wichtig: Zuerst Telerik.Web.UI.dll besorgen (siehe docker-environment/README.md)
# Die DLL in dieses Verzeichnis legen
# Bauen und starten
docker-compose up -d
# Prüfen, ob es läuft
curl http://localhost:8080/Telerik.Web.UI.WebResource.axd?type=rau
# Vorlage testen
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://localhost:8080 \
-debug -v \
2>&1 | tee debug-output/test-run.log
[CVE-2019-18935] [http] [critical] http://localhost:8080/Telerik.Web.UI.WebResource.axd
[EXTRACTED]
telerik_version: 2017.2.503.40
detection_stage: Handler detected in request 1, Version in request 2, Deserialization in request 3
error_details: Exception at Telerik.Web.UI...
cd scripts
# Telerik-Version erkennen und Schwachstelle prüfen
python3 telerik_version_detect.py http://target.com
# Ausgabe:
# [+] Handler found: http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# [+] Detected version: 2017.2.503
# [!] VULNERABLE: Version in range 2011.1.315 - 2019.3.1023
# Nicht-destruktiven POC ausführen
python3 telerik_exploit_poc.py http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# Ausgabe:
# [+] Handler is accessible
# [+] Upload capability confirmed
# [+] Deserialization processing detected
# [!] VULNERABILITY: CONFIRMED
Die Vorlage verwendet einen dreistufigen Erkennungsprozess:
Stufe 1 - Handler-Erkennung:
/Telerik.Web.UI.WebResource.axd?type=rauStufe 2 - Versionsermittlung:
rauPostData-ParameterStufe 3 - Exploit-Nachweis:
__type-DeserialisierungsmarkerAlle drei Stufen müssen erfolgreich sein, um eine positive Erkennung zu erhalten (UND-Bedingung).
Siehe documentation/METHODOLOGY.md für vollständige technische Details.
⚠️ Wichtig: Diese Vorlage ist als intrusiv gekennzeichnet, weil sie:
Verwenden Sie diese Vorlage nur gegen:
Die Einhaltung der gesetzlichen Bestimmungen liegt in Ihrer Verantwortung.
curl http://target/Telerik.Web.UI.WebResource.axd?type=raupython3 scripts/telerik_exploit_poc.py <url>nuclei -t template.yaml -u <url> -debugdocker-compose logsSiehe TESTING.md für die vollständige Anleitung zur Fehlerbehebung.
Diese Vorlage wurde für das ProjectDiscovery-Bounty-Programm erstellt. Für Verbesserungen oder Probleme:
Diese Arbeit wird nur für Sicherheitsforschung und autorisierte Tests bereitgestellt. Verantwortungsvoll und legal nutzen.
Erstellt für das ProjectDiscovery Bounty Program
Forschungsdatum: Dezember 2025
Status: Bereit zur Einreichung ✅