利用Http Authentication Url+csrf劫持路由器DNS

首先简要的说下什么是Http Authentication,服务端返回一个401状态,并返回一个WWW-Authenticate头。

WWW-Authenticate头包含了Http Authentication认证框的一些描叙,如下图

在认证框中输入用户名和密码,将密码放入Authorization头中发送

YWRtaW46YWRtaW4=即是admin:admin的base64编码

Http Authentication这一认证过程,实际上早先在所有浏览器中支持以Http Authentication Url的形式访问登陆,即

http://user:password@url

而微软为了防止钓鱼URL的问题,出了一个安全补丁,禁止了Http Authentication Url,见

http://support.microsoft.com/kb/834489

科 普完毕,八下之前的一些东西,前些年看到过国外黑路由的几个案例,其中比较精彩的有flash upnp attack,将内网指定IP的端口给映射出来进行攻击,当然还有部分路由有漏洞也可以将路由的WEB管理端口给映射出来进行攻击,后来FLASH将这个 安全漏洞修补了。

回到正题上,我们知道国内大部分的家用路由都是使用的Http Authentication认证方式,比如我上图中的就是TPLINK路由,虽然IE禁止了Http Authentication Url,但是firefox、chrome等浏览器任然支持Http Authentication Url,同时以标签的形式嵌入Http Authentication Url可以强制Http Authentication认证成功,没有任何安全提示,于是邪恶的攻击方法来了。

1. 我们可以取国内各种路由的默认IP和默认密码构造一个Http Authentication Url暴力登陆脚本。

2.使用CSRF修改路由的DNS,指向我们的恶意DNS。

比如下面这个TPLINK的小DEMO:

<img src=”http://admin:admin@192.168.1.1/images/logo.jpg” height=1 width=1 onload=dns()>
 访问tplink.html后!

偷偷加入一个8.8.8.8的DNS服务器!

想一想,黑客如果用这种攻击方式大规模攻击,将是如何恐怖?弹指一挥间,数万路由被静默修改DNS?

这是一个普遍的安全问题,您的路由器是否修改好了默认密码,不过值得庆幸的是只有firefox、chrome等浏览器存在此类安全问题。

link:http://hi.baidu.com/kpstfbahmmalqre/item/008121262c7802112b0f1c89

本文由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理。