hacktricks/pentesting-web/proxy-waf-protections-bypass.md

7.5 KiB
Raw Blame History

Proxy / WAF Protections Bypass

AWSハッキングをゼロからヒーローまで学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法:

{% embed url="https://websec.nl/" %}

Nginx ACLルールのパス名操作によるバイパス

この研究からのテクニック

Nginxのルール例

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は/admin.phpへのアクセスをブロックするように設定されていますが、/admin.php/index.phpにアクセスすることでこれをバイパスすることが可能です。

防止方法

location ~* ^/admin {
deny all;
}

Mod Securityルールのバイパス

パスの混乱

この投稿では、ModSecurity v33.0.12まで)がREQUEST_FILENAME変数を適切に実装していなかったことが説明されています。この変数はアクセスされたパスパラメータの開始までを含むはずでした。これは、パスを取得するためにURLデコードを実行したためです。
したがって、Mod Securityでのhttp://example.com/foo%3f';alert(1);foo=というリクエストは、%3f?に変換されてURLパスが終了するため、パスが単に/fooであると仮定しますが、実際にサーバーが受信するパスは/foo%3f';alert(1);foo=になります。

変数REQUEST_BASENAMEPATH_INFOもこのバグの影響を受けました。

Mod Securityのバージョン2でも同様のことが起こり、特定の拡張子を持つファイル.bakなどのバックアップファイルへのアクセスを防ぐ保護をバイパスすることができました。単にドットをURLエンコードした%2eを送信することで、例えば、https://example.com/backup%2ebak

AWS WAF ACLのバイパス

不正なヘッダー

この研究によると、AWS WAFが適用されたHTTPヘッダーをバイパスすることが可能であり、AWSが適切に解析しなかったがバックエンドサーバーが解析した「不正な」ヘッダーを送信することで実現できました。

例えば、次のリクエストにSQLインジェクションを含むヘッダー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

参考

{% embed url="https://websec.nl/" %}

ゼロからヒーローまでのAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricks をサポートする他の方法: