Apache-2.4

如何阻止對 Apache 上包含子字元串的 url 的所有 HEAD 請求?

  • February 11, 2017

我管理的一台伺服器被一個編碼不佳的 AWS 建構的機器人所困擾,該機器人不斷地切換 IP,並且似乎陷入了遞歸編碼循環。我能看到的唯一一致的指紋是每個請求只是一個HEAD請求,每個請求似乎都重新編碼了前一個請求。於是http://someurl.com/?foo=%25bar..%2525..變成了..%252525..……%2525252525252525...x1000

這是我看到的請求類型的範例:

HEAD http://example.com/?foo=%25bar
HEAD http://example.com/?foo=%2525bar
HEAD http://example.com/?foo=%252525bar
HEAD http://example.com/?foo=%25252525bar
HEAD http://example.com/?foo=%2525252525bar
HEAD http://example.com/?foo=%2525252525...25bar (x1000)

到目前為止,我一直在使用 Cloudflare 防火牆來阻止每個 IP,但它們會不斷切換 IP。

我怎樣才能簡單地阻止所有包含子字元串(比如%25252525)的 HEAD 請求?

我在跑步Apache/2.4.6 (CentOS)

在你的 .htaccess 中使用 mod_rewrite 怎麼樣?

<IfModule mod_rewrite.c>
   RewriteCond %{REQUEST_METHOD} HEAD
   RewriteCond %{QUERY_STRING} 25252525
   RewriteRule .* - [F,L]
</IfModule>

這將阻止所有帶有包含“25252525”的查詢字元串的 HEAD 請求。顯然,您可以根據需要對其進行更多調整!

引用自:https://serverfault.com/questions/832040