Google Chrome測試內部網路保護功能禁止跨站點存取127.0.0.1等內網位址
要說清楚Chrome 測試的這個內部網路保護功能我們得先舉個例子(簡要說明,不是完整流程,具體可以參考CSRF 即跨站請求偽造) 幫助大家理解,比如說藍點網使用的內網環境中有一台存在漏洞路由器,這個漏洞可以透過本地程式碼執行(例如注入之類的),但我長期沒有升級韌體修復這個漏洞。
駭客要利用這個漏洞入侵的話並不容易,但可以透過瀏覽器進行中轉,例如在某個網站上嵌入一段執行這段惡意程式碼的內容,當我瀏覽這個網頁時,這段惡意程式碼就可以執行。
以此類推,駭客可以尋找大量的已知漏洞並製作惡意程式碼然後放在一些熱門網站上,這樣在大家瀏覽時,總有一定的機率碰到內網中恰好有受漏洞影響的設備,進而被入侵。
內部網路保護功能:
Chrome 新推出的內部網路功能就是用來攔截此類攻擊的,Google給出的說明是:為了防止惡意網站透過用戶代理的網路位置來攻擊設備和服務,這些設備和服務合理地架設它們駐留在使用者的本地內部網路或使用者電腦上,無法從整個網路存取。
為此Google推出內部網路保護功能,禁止從公網存取的跨站點存取專用網路位址,例如127.0.0.1 或192.168.1.1 這類位址。
Chrome 將在載入網頁時進行預先檢查驗證請求是否來自安全的上下文以及發送初步請求檢測要訪問的站點是否為內部地址(例如內網搭建的HTTP 伺服器,路由器這類可以透過本地IP 訪問的都算) 。
例如下面這個嵌入的iframe 框架可以用來執行CSRF 攻擊從而修改本地網路上的路由器DNS:
<iframe href=”https://admin: admin@router.local /set_dns?server1=123.123.123.123″>
新的錯誤訊息:
對於此類存取請求被攔截時,Chrome 將會顯示錯誤訊息:BLOCKED_BY_PRIVATE_NETWORK_ACCESS_CHECKS
這就代表目前造訪的網站嘗試存取內部地址,當使用者看到此類提示的時候就應該提高警惕,當心這個網站本身就存在某些問題。
最後,此功能目前尚未正式推出,接下來將在Chrome 各個通道中逐漸測試。