7.3 KiB
Proxy / WAF Schutzmechanismen umgehen
Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks beworben sehen möchten oder HackTricks im PDF-Format herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repositories einreichen.
{% embed url="https://websec.nl/" %}
Umgehen von Nginx ACL-Regeln durch Pfadmanipulation
Techniken aus dieser Forschung.
Nginx-Regelbeispiel:
location = /admin {
deny all;
}
location = /admin/ {
deny all;
}
NodeJS - Express
Nginx Version | Node.js Bypass Characters |
---|---|
1.22.0 | \xA0 |
1.21.6 | \xA0 |
1.20.2 | \xA0 , \x09 , \x0C |
1.18.0 | \xA0 , \x09 , \x0C |
1.16.1 | \xA0 , \x09 , \x0C |
Flask
Nginx Version | Flask Bypass Characters |
---|---|
1.22.0 | \x85 , \xA0 |
1.21.6 | \x85 , \xA0 |
1.20.2 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
1.18.0 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
1.16.1 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
Spring Boot
Nginx Version | Spring Boot Bypass Characters |
---|---|
1.22.0 | ; |
1.21.6 | ; |
1.20.2 | \x09 , ; |
1.18.0 | \x09 , ; |
1.16.1 | \x09 , ; |
PHP-FPM
Nginx FPM configuration:
location = /admin.php {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
Nginx ist so konfiguriert, dass der Zugriff auf /admin.php
blockiert wird, aber es ist möglich, dies zu umgehen, indem man auf /admin.php/index.php
zugreift.
Wie man das verhindert
location ~* ^/admin {
deny all;
}
Umgehen von Mod Security Regeln
Pfadverwirrung
In diesem Beitrag wird erklärt, dass ModSecurity v3 (bis 3.0.12) die Variable REQUEST_FILENAME
falsch implementiert hat, die den aufgerufenen Pfad enthalten sollte (bis zum Beginn der Parameter). Dies liegt daran, dass es eine URL-Dekodierung durchführte, um den Pfad zu erhalten.
Daher wird eine Anfrage wie http://example.com/foo%3f';alert(1);foo=
in Mod Security annehmen, dass der Pfad nur /foo
ist, weil %3f
in ?
umgewandelt wird und den URL-Pfad beendet. Tatsächlich wird der Pfad, den ein Server erhalten wird, jedoch /foo%3f';alert(1);foo=
sein.
Die Variablen REQUEST_BASENAME
und PATH_INFO
waren ebenfalls von diesem Fehler betroffen.
In Version 2 von Mod Security trat etwas Ähnliches auf, das es ermöglichte, einen Schutz zu umgehen, der verhinderte, dass Benutzer auf Dateien mit bestimmten Erweiterungen im Zusammenhang mit Sicherungskopien (wie .bak
) zugreifen konnten, indem einfach der Punkt URL-codiert in %2e
gesendet wurde, zum Beispiel: https://example.com/backup%2ebak
.
Umgehen von AWS WAF ACL
Fehlerhafte Header
Diese Forschung erwähnt, dass es möglich war, AWS WAF-Regeln, die über HTTP-Header angewendet wurden, zu umgehen, indem ein "fehlerhafter" Header gesendet wurde, der von AWS nicht ordnungsgemäß analysiert wurde, jedoch vom Backend-Server.
Beispielsweise durch Senden der folgenden Anfrage mit einer SQL-Injektion im Header X-Query:
GET / HTTP/1.1\r\n
Host: target.com\r\n
X-Query: Value\r\n
\t' or '1'='1' -- \r\n
Connection: close\r\n
\r\n
Es war möglich, AWS WAF zu umgehen, weil es nicht verstand, dass die nächste Zeile Teil des Werts des Headers ist, während der NODEJS-Server dies tat (dies wurde behoben).
Referenzen
- https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies
- https://blog.sicuranext.com/modsecurity-path-confusion-bugs-bypass/
{% embed url="https://websec.nl/" %}
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks beworben sehen möchten oder HackTricks im PDF-Format herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merch
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repositories einreichen.