Apache-2.2

如何通過參數數量過濾 HTTP 請求

  • August 22, 2010

我面臨著一個我從未見過的非常奇怪的問題。現在我有一些通過 Apache HTTP 提供的 Web 應用程序。

碰巧某些 HTTP 請求被伺服器和客戶端之間的某些東西拒絕了。不管是 GET 還是 POST,裡面的東西都會拒絕超過 40 個參數的請求。因此,一些大的 POST 請求(具有許多參數的表單,例如註冊內容或 Joomla 管理內容)被阻止,並且面臨糟糕的 HTTP 404 響應(瀏覽器顯示“找不到指定的 URL”。

檢查 Apache HTTP 中的 access.log 和 error.log,這些請求沒有到達 HTTP 伺服器,我已經使用 firefox 和 wget 測試了一定數量的虛擬參數(在 GET 和 POST 中)。最多有 40 個參數,響應是 200,有 41 個或更多它會拋出 404 並且沒有其他標題……

為什麼某些東西可以通過參數數量過濾 HTP 請求?感謝您的幫助,希望這是提出此類問題的正確論壇。

編輯:結果是我懷疑的 WAF。配置它的人說它只影響伺服器的一個介面。我猜它管理了所有這些。WAF 中評估錯誤/可疑 URL 的規則將參數數量限制為 40,可能是因為正則表達式或其他原因。我們在執行了一些wireshark 並發現請求沒有到達伺服器本身後發現了這一點。謝謝大家。

如果日誌中沒有 404 事件,則它在其他地方被阻止。您是否有應用程序防火牆、IPS、R-Proxy 或類似的?

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