2.另一个有趣的行为也可以用来强迫用户连接虚假的热点,无论何时,如果客户端没有连接到接入点,那么客户端都会不断的发送寻找先前已知的ESSID的信标数据包。如果目标已连接到未受密码保护的接入点,并且可能是用户自己的行为,则攻击者可以简单地创建一个虚假接入点,与目标访问的未受保护接入点的ESSID相同即可。因此,客户端将会愉快地连接到虚假接入点。
在这种情况下,目标没有连接到任何Wi-Fi接入点,可能是因为目标是智能手机而且目标用户正在街上行走。但是,有可能Wi-Fi网卡仍处于打开状态且设备仍在寻找已知的Wi-Fi ESSID。再次,如前所述,目标可能已连接到某个未受密码保护的Wi-Fi接入点。因此,攻击者可以使用目标已连接过的接入点的ESSID来创建虚假接入点,就像之前那样,Wi-Fi客户端将愉快地连接到虚假接入点。
创建并注入恶意载荷
现在我要说的是一个“略新”的思路(至少对我而言):弄清楚恶意JavaScript代码应该如何访问路由器并窃取Wi-Fi密码。请记住,受害者将连接到虚拟接入点,这显然给了攻击者一些机会,但仍有一些事情需要考虑清楚。
作为攻击测试的目标路由器,我使用了家用Wi-Fi路由器,特别是我的ISP免费提供的D-Link DVA-5592。不幸的是,目前我还没有其他可以测试的设备,所以我必须用它做好准备。
我们现在讨论的是恶意JavaScript代码。我们的目标是让这些恶意代码对路由器执行请求,这意味着它必须对本地IP地址执行请求。说到这里,你应该已经想到了诸如Same-Origin-Policy和X-Frame-Option之类的关键字。
同源-策略
让我借用MDN网络文档中的定义:
同源策略是一种关键的安全机制,它限制了从一个源加载的文档或脚本与来自另一个源的资源交互。它有助于隔离潜在的恶意文档,减少可能的攻击媒介。https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
换句话说:如果域A包含JavaScript代码,则该JavaScript代码只能访问域A中的信息或域A的子域。它无法访问域B中的信息。
X-Frame-Option
让我再次从MDN Web文档中借用这个字段的定义:
X-Frame-Option 是一个HTTP响应头可用于指示浏览器是否应该允许在<frame>,<iframe>或<object>中渲染页面。站点可以通过这种机制确保其内容未嵌入到其他站点,并且可以使用此功能来避免点击劫持攻击。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
这非常简单:X-Frame-Options 可用于防止页面在iframe标签中加载。
那么让我们看看我们请求D-Link登录页面后得到的响应: