7.3 KiB
Proxy / WAF Protections Bypass
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 in PDF 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.
{% embed url="https://websec.nl/" %}
Umgehen von Nginx ACL-Regeln durch Pfadmanipulation
Techniken aus dieser Forschung.
Beispiel für eine Nginx-Regel:
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
fehlerhaft implementiert hat, die den aufgerufenen Pfad enthalten sollte (bis zum Beginn der Parameter). Dies liegt daran, dass es eine URL-Dekodierung durchgeführt hat, 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 z. B. .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, aber vom Backend-Server wurde.
Beispielsweise durch das Senden der folgenden Anfrage mit einem SQL-Injection 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.