一、什麼是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-hk/n/188739.html