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路由器。更重要的是,用一个更强壮的密码代替默认的管理员密码。这一点都不难。

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