原先被认为只针对网站的一种知名攻击方式,被发现也可以应用在消费级网络设备上。HexagonSecurityGroup创始人NathanHamiel发现,Cross-SiteRequestForgery(CSRF,跨站请求伪造)也可用在大多数家用DSL路由器上。
CSRF并不是什么新技术,早在1988年,NormHardy就发现了一种应用信任问题,当时被称作“混淆代理人(confuseddeputy)”。CSRF和点击劫持都是混淆代理人攻击的例子,而他们主要针对Web浏览器。
什么是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/Netopia2210DSL调制解调器,因此如果你也有类似的设备,一定要加强警惕。具体的攻击步骤和我上面提到的例子相近,因此我就再充当一次受害者:
1.攒了一辈子钱,终于换了一台新的DSL路由器。我激动的把它安装好,开始进行快速配置。
2.作为多次被黑的老网民,我肯定不希望陌生人访问到我的路由器管理界面,因此我关闭了通过WAN访问路由器的接口。