
Nicht authentifizierter Datei-Upload → RCE PoC für CVE-2026-57827 (RSFiles! Joomla < 1.17.12). Nur für autorisierte Sicherheitsforschung.
Haftungsausschluss — nur für autorisierte Nutzung. Dies ist ein Proof-of-Concept für Sicherheitsforschung und defensive Tests. Sie sind dafür verantwortlich, es nur auf Systemen zu verwenden, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen haben. Missbrauch gegenüber Dritten ohne Zustimmung ist illegal. Weitere Informationen zur verantwortungsvollen Offenlegung finden Sie in SECURITY.md.
Exploit + eigenständiger Detektor für CVE-2026-57827 in der RSFiles!-Komponente
(com_rsfiles) für Joomla, Versionen < 1.17.12 (behoben in
1.17.12, CVSS 9.8 / 10.0).
Der Frontend-Upload ist auf zwei Aufgaben aufgeteilt:
rsfiles.checkupload — Vorabprüfung (Berechtigungs- und Erweiterungs-Zulassungsliste)rsfiles.upload — Schreibmethode (keine Berechtigungsprüfung, keine Dateitypprüfung, kein CSRF)Die Schreibaufgabe kann direkt aufgerufen werden, wobei die Vorabprüfung übersprungen wird, sodass ein nicht authentifizierter Angreifer eine ausführbare -Datei in einen öffentlichen Ordner hochladen und ausführen kann → .
.php| Datei | Zweck |
|---|---|
cve_2026_57827.py | Exploit + Scanner + CLI (Einstiegspunkt) |
rsfiles_detect.py | Eigenständiges Erkennungsmodul (kein Exploit) — hat auch eine eigene CLI |
payload.py | Modulärer, kompakter PHP-Payload-Builder |
common.py | Gemeinsamer HTTP-Client, Konfiguration und Helfer |
mock_server.py | Sichere lokale Simulation zum Testen |
Alle Module müssen sich im selben Verzeichnis befinden (sie importieren sich gegenseitig).
python3 -m pip install -r requirements.txt # or just: pip install requests
python rsfiles_detect.py -t example.com
Host : example.com
RSFiles! : YES v1.17.11
Protocol : https
Status : VULNERABLE (below 1.17.12)
Multi-Host:
python rsfiles_detect.py -f hosts.txt
python cve_2026_57827.py -t example.com
Bei Erfolg gibt das Tool die Shell-URL mit ihrem zufälligen Token und die Befehlsausgabe aus — diese Ausgabe ist der Nachweis der RCE.
python cve_2026_57827.py -f targets.txt --threads 30 -o shells.txt --csv report.csv
| Flag | Beschreibung |
|---|---|
--threads N | Parallelität (Standard: 30) |
--proxy URL | Über einen Proxy leiten (Burp/ZAP) |
--timeout N | Zeitlimit pro Anfrage (Sekunden) |
--no-cleanup | Hochgeladene Shell behalten (Standard: automatisches Löschen nach RCE) |
-o FILE | RCE-URLs speichern |
--csv FILE | Vollständiger strukturierter Bericht |
--debug / -v | Ausführliche Protokollierung auf Anfrageebene |
# Terminal 1 — start the mock (vulnerable)
python mock_server.py 8000 1.17.11
# Terminal 2 — scan it
python rsfiles_detect.py -t 127.0.0.1:8000
python cve_2026_57827.py -t 127.0.0.1:8000
1.17.11 / 1.17.10 = anfällig · 1.17.12 = gepatcht.
payload.py): jedes Verhalten (Gate, Upload, Exec, Delete, List) ist eine kleine Funktion; die Namen der Exec-Funktionen sind base64-kodiert, sodass Klarnamen wie system nicht in den Dateibytes auftauchen.cache7f31.php) anstelle klassischer versteckter Dotfile-Shell-Namen.common.base_of().Der Stil orientiert sich an öffentlichen Sammlungen von Joomla-Komponenten-Exploits (z. B. incredibleindishell/joomla-vulnerabilities) und den Advisory-Berichten von RSJoomla/mysites.guru zu dieser CVE.
MIT — siehe LICENSE. Nur für Forschungs-/Verteidigungszwecke.