华硕RT-AC66U路由器的几个漏洞分析
在我们实验里,华硕RT-AC66U路由器显示SSID
时,它出现了少量跨站脚本漏洞。这不是一个很大的问题,因为这需要物理上接近路由器,同时需要攻击者完成一个特殊的设置。但这个问题确实说明了有关SSID
的一个观点,以及你不应该相信来自外部的任何数据。
在无线页面的“WDS
”下,可以枚举你您所在地区的现有无线网络。当它们被写入网页时,它们没有被完全隐藏或编码,因此可以在我们可用的32个字符中获得少量的HTML
代码。
例如,我们可以在Linux
下使用hostapd
设置SSID
:
当看到远程AP列表时,我们得到如下弹出窗口:
当你查找WDS
功能中可能的接入点列表(例如打开http://192.168.1.1/Advanced_WMode_Content.asp
– 然后选择WDS选项卡,然后选择“远程AP列表”下拉列表)时,会发生这种情况,它将触发执行的JavaScript
代码。
它可以扩展到任意重定向使用:
此SSID
然后从http://xjs.io/a
加载IFRAME
,然后将窗口位置更改为http://www.dilbert.com/
,但同样可将用户指向恶意页面。
注:SSID是32个任意字符,因此在Web界面中显示SSID时要小心!
我们从注销的路由器开始:
然后我们可以向受害者发送这样的电子邮件:
然后用户看到这样的页面:
但当他们登录时,会话被建立,但是它们被重定向到攻击者的页面http://xjs.io/.htm。(为了华硕的测试用例,这是暂时的。)
这样做是创建一个IFRAME
,用它处理欺骗创建用户请求。(如果我们想的话,可以让这个看不见。)
如果IFRAME
尝试添加用户,那么IFRAME
只会发出与用户相同的POST请求。
主漏洞页面会在几秒钟后将用户重定向到相应的页面进行固件更新:
我们来看看刚刚创建的这个samba
用户:
当你尝试删除它时,你会得到JavaScript代码执行:
这些问题现在已经解决了,但是建议你应该随时更新到最新的固件,或至少要小心打开各种邮箱附带的链接或文件。