AH00126: Invalid URI in request POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1 是?
這個訊息是 Apache HTTP Server 的錯誤日誌,代表伺服器收到了一個 惡意或不合法的請求。
拆解:
AH00126: Invalid URI in request
→ Apache 判斷這個請求的 URI(網址路徑)不合法。
POST /cgi-bin/.%2e/.%2e/.../bin/sh
→ %2e 是 URL 編碼的「.」,所以 .%2e/.%2e 就是 ../。
→ 這是一種 路徑穿越攻擊 (Path Traversal) 嘗試,攻擊者想要跳出 cgi-bin 目錄,最後執行 /bin/sh(Unix/Linux 的 shell)。
HTTP/1.1
→ 請求使用的協定版本。
意圖:
這是一個常見的 攻擊測試,通常來自掃描器或惡意程式,目的是利用 CGI 或伺服器漏洞,直接在你的系統上執行命令。
幸好 Apache 在這裡直接回報「Invalid URI」,表示它拒絕了這個請求,沒有真的執行。
你需要知道的:
這不是正常使用者的行為,而是攻擊者在測試你的伺服器。
如果你是在 Windows 上跑 Apache,/bin/sh 本來就不存在,所以更不可能成功。
但這代表你的伺服器正被嘗試攻擊,建議加強防護。
建議措施:
如果不需要 CGI,建議停用或刪除 cgi-bin 目錄:
<Directory "C:/AppServ/Apache24/cgi-bin">
Options None
AllowOverride None
Require all denied
</Directory>