一、什麼是http.sys遠程代碼執行漏洞
http.sys 是 Windows 操作系統的一個核心網路組件,它是 IIS、HTTPAPI、Windows 服務等許多 Windows 組件的基礎,並且是前端 Web 伺服器與後端應用程序之間的重要橋樑。http.sys 在接受HTTP請求時處理URL,映射對應的處理程序,並提供了高性能的基礎設施。
而 http.sys 遠程代碼執行漏洞是指,攻擊者可以構造特殊的 HTTP 請求,利用 http.sys 漏洞執行任意代碼,進而獲取系統許可權,控制受害者伺服器和竊取敏感信息,這是一種十分嚴重的漏洞。
下面來看一下可以用來利用http.sys漏洞的代碼示例:
<!DOCTYPE html>
<html>
<head>
<title>http.sys remote code execution vulnerability demo</title>
</head>
<body>
<form action="http://localhost/" method="POST" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="Content-Type" value="a" />
<input type="hidden" name="Translate" value="f" />
<input type="hidden" name="Host" value="localhost" />
<input type="submit" value="Submit" />
</form>
</body>
<script>
document.forms[0].submit();
</script>
</html>
二、http.sys遠程代碼執行漏洞的原理
http.sys 可以處理大多數 HTTP 請求,比如 GET、POST、HEAD、DELETE 等等,這些請求都會最終落到 http.sys 上,然後由其做出相應的響應,名字中的「sys」是 system 的簡稱,表明了它高度集成在操作系統中。http.sys 的一個重要特性是它提供了 URL 監聽和處理功能。例如,當請求 http://example.com/index.html 時,http.sys 可能會將請求映射到文件系統上的某個位置,也可能將請求轉發到另一個處理程序上處理。然而,這個映射和轉發是按照 URL 來決定的,在這裡也就出現了一個名為「Unicode缺陷」的漏洞。
這個漏洞是因為 http.sys 將 URL 轉換為 Unicode 字符集,例如 http://example.com/abc 會被轉換為 \u0061\u0062\u0063,這是由於 HTTP 協議是不支持 Unicode 編碼的,所以需要進行轉換。而攻擊者可以構造一串惡意編碼,繞過一些過濾機制,例如使用 %u0025%u30 製作 %/%00 直接繞過IIS檢查,該漏洞允許攻擊者通過 unicode 編碼方式發起 HTTP 請求,偽造一個虛假的字符集,最終導致 http.sys 錯誤地處理惡意 URL 的路徑部分,並傳遞給應用程序處理,這就提供了遠程代碼執行的機會。
執行代碼的漏洞主要存在於 TCP/IP 棧,通過傳遞不正確的HTTP請求,攻擊者可以向內核模式傳遞惡意代碼從而導致代碼執行,從而進一步造成伺服器被攻陷。
三、http.sys 遠程代碼執行漏洞的危害
http.sys 漏洞的危害非常大,攻擊者可以通過 http 請求執行任意代碼,進而獲取系統許可權,控制受害者伺服器和竊取敏感信息,甚至可能使整個系統癱瘓。如果黑客成功入侵,它們可以輕鬆地竊取與駭客相連的設備。如果不能及時發現漏洞並進行修復,這將對網路的安全和穩定性構成極大的威脅。需要注意的是,攻擊者可以使用已知的漏洞來攻擊網路設備,這是因為它們通常被放置在前端,成為第一道防線,為其他應用程序提供服務。
四、如何防範http.sys遠程代碼執行漏洞
為了防範 http.sys 遠程代碼執行漏洞,我們可以參考以下幾點來做出防禦:
1. 參考微軟開發的「字元串查詢解釋」 修復程序,將其應用於受影響的 Web 伺服器。
2. 禁用網路上的遠程管理和對外開放的埠,對關鍵系統進行管控。
3. 檢查與 http 協議相關的軟體是否有新的安全補丁或通告。需及時查看其官方網站,收到漏洞公告時及時升級軟體、修改參數。
4. 對 Web 伺服器的訪問進行限制,避免遠程攻擊者通過互動式終端伺服器進行未經授權的訪問。
需要注意的是,及時升級系統和軟體補丁是防範任何漏洞的重要手段。
五、總結
http.sys 遠程代碼執行漏洞是一種非常危險的安全漏洞,攻擊者可以通過構造特殊的 HTTP 請求,執行任意代碼,控制受害者伺服器和竊取敏感信息。為了防範該漏洞,我們可以參考微軟發布的修復程序、禁用網路上的遠程管理和對外開放的埠、檢查相關軟體的安全補丁或通告、限制 Web 伺服器的訪問等措施。總之,我們應該保持著對各種安全漏洞的高度警惕,挖掘潛在漏洞的同時也要不斷地尋找應對之道。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/188739.html