偽裝跨站請求來攻擊本地網路裝置
以下是OMG小編為大家收集整理的文章,希望對大家有所幫助。
我們知道,跨站請求偽造***CSRF***漏洞帶有極大的危害性,CSRF能夠利用Web 應用程式對於經認證的連線的信任來幹壞事。雖然該漏洞早在1988就被提出了,所以它是一個老問題了,但是之前對該攻擊的報道,大都集中在對線上帳戶的危害方面,所以直至今日,許多人對利用CSRF攻擊本地網裝置甚至localhost上的服務這一點仍然一無所知。實際上,在執行Web伺服器的本地網上的任何裝置都易受CSRF的攻擊,本文將以Motorola/Netopia裝置為例加以詳細說明。
Motorola/Netopia 2210 DSL調製調解器是由AT&T公司於2007年推出的一款產品。 研究發現,這個裝置特別容易受到跨站請求偽造攻擊的影響,所以我們就用它來演示如何通過CSRF攻擊本地網裝置。跨站請求偽造漏洞不僅僅只有Motorola/Netopia DSL調製調解器才有,其他DSL調製調解器也難逃厄運。預設時,大部分DSL調製調解器都沒有要求對配置選單的訪問進行身份驗證。之所以這樣,是因為一個錯誤的假設,即只有受信任的裝置才會出現在本地網路上。很不幸,這種假設是錯誤的,因為使用者以及他們的瀏覽器都在本地網路上,但是他們並非總是可信的。人們在web上衝浪時,會有大量的內容展現在他們面前,但是好像從未注意到他們的瀏覽器正在不斷髮送的各種請求,問題就在這裡,這些請求可能是使用者想要發出的,但是也可能是攻擊者挾持使用者的瀏覽器發出的。
一、調製調解器的跨站請求偽造漏洞
我們之所以利用Motorola/Netopia DSL調製調解器進行演示,不僅因為它採用了一個假想的信任關係,並且允許請求轉換等特性。當本地網上的使用者瀏覽
注意,DSL的配置主頁右方有一個名為“Remote Access”的選單選項,我們點選該選項時,將進入下一畫面:
圖2 啟用遠端管理功能
如您所見,預設情況下遠端管理功能是禁用的,然而,好在仍然有一個預設使用者名稱、空密碼以及一些其他選項,這些足以啟用永久性遠端管理功能。那還猶豫什麼:我們直接單擊“Enable”按鈕,這會向該裝置傳送一個POST,這個POST看上去是這樣的:
POST /Forms/remoteRES_1 HTTP/1.0Host: 192.168.1.254NSS_RemotePassword=blehblah&NSS_EnableWANAdminAccessRES=on&timeoutDisable=0&Enable=Enable
這個POST將在該DSL調製調解器的遠端管理功能,將密碼設為blehblah,同時啟用永久性遠端訪問功能。看到了吧,這都是不要求身份驗證惹得禍,否則,我們很難做到這些。 因此如果某人精心策劃了一個自動提交的JavaScript表單,那麼人們就能夠利用它來提交各種值,並啟用它們自己的密碼。所以,這會使的事情變得更糟。看起來這個DSL調製調解器不僅允許我們轉換各種請求,還能接受各種值。所以,您可以將前面的POST請求轉換成一個GET請求,並得到同樣的效果。這意味著,只要設法讓使用者向下列URL傳送一個請求,我們就能能夠搞定這個調變解調器:
如您所見,對使用者來說,情況更加不妙了。只要使用者點選了該連結,就會發出一個偽造的請求,從而啟用遠端管理功能,並將密碼設為攻擊者選擇的字串。呵呵,實際上,我們還可以通過多種不同的方式來達此目的,最簡單的一個就是使用HTML的img標籤,並將影象大小設為1x1畫素,這樣,當找不到影象時,就不會出現小紅x了。
如果使用這個DSL調製調解器的人訪問了包含上述影象標籤的頁面,那麼攻擊者就能夠遠端管理該DSL調製調解器,併為其設定密碼。事實上,攻擊者所能做的還遠不止這些。 他們可以通過向該DSL調製調解器提交其它的請求來控制該DSL調製調解器的各項功能。並且,這些事情做起來簡單得令人難以置信,所以就不具體介紹了。
如何檢查自己的電腦有沒有被黑