利用JavaScript缓存远程窃取Wi-Fi密码的思路详解(3)


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登录页面后得到的响应:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/327.html