nvalid URI in request POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1 是?
這個訊息代表有人(或某個程式/機器人)嘗試對你的 Apache 伺服器發送 惡意請求。
拆解:
Invalid URI in request
→ 請求的網址格式不合法。
POST /cgi-bin/.%2e/.%2e/.../bin/sh
→ %2e 是 URL 編碼的「.」(點號)。
→ .%2e/.%2e/... 就是「../」的變形,這是一種 路徑穿越攻擊 (Path Traversal) 嘗試。
→ 攻擊者想要一路跳出 cgi-bin 目錄,最後執行系統的 /bin/sh(Unix/Linux 的 shell)。
意圖:
這是一種常見的 Web 攻擊測試,目的是利用 CGI 或目錄設定漏洞,直接在伺服器上執行命令。
幸好 Apache 在這裡直接回報「Invalid URI」,表示它拒絕了這個請求,沒有真的執行。
這是一種常見的 Web 攻擊測試,目的是利用 CGI 或目錄設定漏洞,直接在伺服器上執行命令。
幸好 Apache 在這裡直接回報「Invalid URI」,表示它拒絕了這個請求,沒有真的執行。
你需要知道的:
建議措施:
確認 cgi-bin 目錄是否真的需要開放,如果不需要,建議停用或刪除。
確保 Apache 的 mod_cgi 或 mod_cgid 模組只允許可信任的程式。
檢查防火牆與存取控制,避免外部隨意呼叫 CGI。
定期更新 Apache 與相關套件,避免已知漏洞。
可以考慮在 httpd.conf 裡加上:
<Directory "C:/AppServ/Apache24/cgi-bin">
Options None
AllowOverride None
Require all denied
</Directory>