CSRF攻擊原理及預防

什麼是 CSRF?

  目前流行的 CSRF攻擊主要是由攻擊者在網頁中植入惡意代碼或連接,當受害人的瀏覽器執行惡意代碼或者受害人點擊連接後,攻擊者就可以訪問那些被害人身份驗證後的網絡應用。如果被害人採用多窗口瀏覽器,攻擊者就可以以被害人身份控制瀏覽器中任何一個窗口中的Web應用。

  現實中,這種攻擊常被攻擊者用來入侵和控制被害者的基於Web的電子郵件帳戶。下面介紹一個獲取郵箱控制權的例子:

  1. 我登陸自己的基於Web的郵箱帳戶。

  2. 在一封重要郵件還沒有收到之前,我決定先在網上隨便看看,因此我在多窗口瀏覽器中新開了一個窗口。

  3. 我所訪問的這個網站包含了隱藏代碼。我的瀏覽行爲激活了隱藏代碼,並向我的電子郵件Web服務器發送了一個HTML 請求。這個請求的內容可能是刪除我的收件箱中的全部郵件。完了,中招了。

  可能我的例子過於簡單了,但並不是危言聳聽,它反應了CSRF 攻擊的力量以及隱蔽性。別忘了,一條簡單的HTML請求確實可以刪除你的收件箱中的所有郵件。GNUCitizen 有一篇名爲“CSRF 揭祕”的文章,詳細介紹了攻擊細節,下面是我總結的有關CSRF攻擊的一些有趣內容:

  如果Web程序處於開放狀態,那麼任何其它 Web頁面都可以向這個Web程序發送請求,並且是以用戶自己的身份特權進行操作的。

  Web應用程序開放越久,這種威脅的可能性就越大

  書籤網站 是黑客搭建CSRF攻擊陷阱,誘捕普通用戶的一個極佳途徑。

  DSL路由器上的CSRF攻擊

  Hamiel提出的通過CSRF攻擊獲取DSL路由器權限的方法和用於網站攻擊的方法類似。他所採用的是 Motorola/Netopia 2210 DSL 調制解調器,因此如果你也有類似的設備,一定要加強警惕。具體的攻擊步驟和我上面提到的例子相近,因此我就再充當一次受害者:

  1. 攢了一輩子錢,終於換了一臺新的 DSL路由器。我激動的把它安裝好,開始進行快速配置。

  2. 作爲多次被黑的老網民,我肯定不希望陌生人訪問到我的路由器管理界面,因此我關閉了通過WAN訪問路由器的接口。

  3. 現在遠程管理已經關閉,只有我能訪問自己的 DSL管理界面了,再也不用擔心路由器的管理員密碼被盜了。

  4. 我的哥們兒是個網絡天才。他知道我剛買了個新的DSL路由器。於是他發給我一封電郵,讓我看看他的新網站。

  5. 我進入了他的新網站,你猜結果怎麼樣?我又中招了,我的哥們兒現在已經擁有我的DSL路由器的控制權了。

  基本上講,這都是同一類CSRF攻擊。我在哥們兒的網站上激活了一段 HTML請求,這段請求將以下命令發送到我的瀏覽器上:

  連接到我的新 DSL路由器上。

  開啓遠程管理。

  在管理員賬戶上添加一個密碼。

  從此以後,我新買的DSL路由器就只能由我哥們兒控制了。衰哦。

  按下reset,一切煩惱一掃光

  對於這種攻擊,路由器的reset按鈕是最簡單的修復方式。問題是路由器管理密碼被修改,並不影響我的日常使用,因此我可能對這種攻擊毫無察覺,只有當路由器出現問題,或者我打算修改路由器配置時,纔會發現密碼被修改了。我還敢打賭,很多讀者甚至沒有配置過他們的DSL路由器,買回來後只是簡單的插上網線,就按照出廠工作模式開始使用路由器了。

  結局如何?

  隨着邊緣網絡設備被黑客掌控,接下來黑客們能做的事情就多了。Hamiel 在Neohaxor.org網站的博客上撰文“CSRF 威脅局域網設備”,對此有詳細描述:

  “記住,黑客已經可以遠程控制你的路由器了。因此就算你的電腦使用的是內網IP,黑客還是可以輕易獲取你的網絡日誌。通過日誌可以很簡單的確認內網IP,並且通過修改路由器設置,使得黑客通過外網可以直接訪問到你的內網IP。因此局域網內的電腦被攻擊就不是什麼不可能的任務了。”

  預防很簡單

  也許很多人都聽到過這種安慰。實際上預防CSRF攻擊網絡設備很簡單,只需要修改網絡設備上的默認設置即可,尤其是那些接入互聯網的設備,比如DSL路由器。更重要的是,用一個更強壯的密碼代替默認的管理員密碼。這一點都不難。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章