3

最近、クエリ文字列に../../../がたくさん含まれているRFI攻撃があり、クエリ文字列に../が含まれないように.htaccessを変更したいと思います。

生理を逃れる必要があることに気付くまで、私はこれを試していました。

RewriteCond %{QUERY_STRING} ../
RewriteRule .* - [F]

次に、次のように変更しました。

RewriteCond %{QUERY_STRING} \.\./
RewriteRule .* - [F]

ただし、クエリ文字列内の/は引き続き禁止されています。

また、ルールがある場合、それ{REQUEST_URI}{QUERY_STRING}冗長になりますか?

ありがとう。

編集:

私はこれを機能させることに成功しました:

RewriteCond %{QUERY_STRING} (\.\./)

ただし、RewriteCond %{REQUEST_URI} \.\./そうでRewriteCond %{REQUEST_URI} (\.\./)はありません。私も試しました/\.\./(/\.\./)

4

1 に答える 1

0

後の%{QUERY_STRING}すべてです?、したがって、ルールはhtisのようなURLを正常にブロックします。

http://domain.com/blah.php?../../../path

ただし、URIはチェックされません。ルールを修正することで、両方をチェックできます。

RewriteCond %{QUERY_STRING} \.\./ [OR]
RewriteCond %{REQUEST_URI} \.\./ 
RewriteRule .* - [F]
于 2012-08-25T15:10:56.510 に答える