校园网认证系统(锐捷RG-SAM认证系统)用户信息越权查询漏洞
1.漏洞发现的开始
在寒假前,想着到家以后可能还要用到实验室的电脑,然后在实验室电脑上安装了Teramviewer 作为控制端,但是如果电脑重启时间过长,会导致开机以后需要重新在校园网认证系统中登陆才能连接互联网,因此写了一个登陆校园网认证系统的脚本,在这个过程中发现了这个漏洞
2.简单介绍一下校园网认证系统
在以下界面登陆:
登陆成功后返回的界面: 认证系统的原理图:3.初现端倪--UserIndex
看到这个UserIndex,我想到,如果我访问别人的这个界面是不是可以看到别人的信息呢?
于是在实验室的电脑上登陆了一个朋友的账号,然后访问朋友账号登陆成功的UserIndex,如下:
和我登陆了似的,然后我测试了一下几项内容:
<1> 如果我访问别人的界面点击下线按钮,他还可以上网吗? 答案: 不能 。
<2> 左上角有个自助服务,点击进去可以修改密码但是要原密码
综上 <1> <2> 挖掘到的这个漏洞只能给别人断网吗?那可没达到我要的效果。
4.再看端倪--UserIndex的规律
无论进一步深入还是就停留在搞恶作剧,都需要对UserIndex进行爆破,那么就必须掌握它的规律。
我收集了一些UserIndex 其中包括(PC网线直连的,PC WIFI接入的,安卓手机登入的,苹果手机登入的),规律如下:
根据测试发现,userIndex基本上由3段组成:
<1> 固定前缀
30613532373163316135396430313232616631323931386332323865396334315f31302e313
<2> 接入方式标识符
PC网线接入:02e342e31365f
PC WIFI接入:62e3230302e3138335f
安卓 WIFI接入:62e35322e3233355f
苹果 WIFI接入:62e3133362e385f
<3> 用户标识符
我把用户标识符分成了3段,第一段是51 学号开始前缀,第二段是入学年份,第三段是学号。
比如:5120158888则会变成35313230313538383838
规律是:从第一位开始(把第一位前也添加一个3),每隔一位添加一个3
5.COOKIES中隐藏的秘密
访问自己登陆成功的界面的时候,随手按下了F12看了一下数据包中,COOKIES里面记录自己的学号、明文密码等一系列的内容
那么我如果访问别人的登陆成功界面呢?
COOKIE里面的明文账号密码仍然是我当前登陆用户的,而非目标的。因此无法利用。
6.柳暗花明
看到上面那个图,你发现没有?
以userIndex作为POST值,来getOnlineUserInfo 。
OK ,我们看下返回值是什么
这里显示乱码的原因是:目标页面没有设置header头,而其返回的是utf-8编码的,浏览器没看到header头里面定义,就按照系统默认编码(GBK)解析了。
回归正题,到这里,你会发现,如果向/eportal/InterFace.do?method=getOnlineUserInfo界面POST 目标UserIndex就可以拿到其姓名、学号、明文密码等信息。
7.漏洞的利用
讲了这么多,大家最关心的还是这个漏洞怎么利用。
编写脚本,生成userIndex , 然后在同学们用网比较多的时段来进行爆破,成功率很高,脚本地址:
https://github.com/admintony/ePortalGetPass/
抓取到的明文信息展示
8.漏洞修复方式:
<1> 用更高强度的无规律的userIndex替换这个有规律的userIndex,可以将无序userIndex写入数据库
<2> 我测试直接GET请求/eportal/InterFace.do?method=getOnlineUserInfo返回的是当前登陆用户的信息,那么可以删除POST方式,或者在查询之前先对比该UserIndex是否和当前登陆用户的UserIndex一致
9.附录
这个漏洞比较鸡肋,只能爆破出和你在同一路由器下面的用户信息,不在同一路由器下的无法查询信息。一般校园网都是一个区域一个路由器的。
TCV : 0
大家不用再纠结是否露点了,地址你访问下试试就知道了
评论49次
思路很清晰可以的
学到了。以后找机会测试一下。
我们学校也是这套xi统,那次用awvs扫描自助服务xi统,还有个sql注入,可以执行命令,sqlserver,直接powershell 获取主机权限。
这种漏洞为什么需要同路由器下的?除了UserIndex还验证了其他什么信息吗。
大佬问一下 要是接入标识符 变成IP怎么办
多拿几个测试一下,然后总结规律
大佬问一下 要是接入标识符 变成IP怎么办
怎么拿到手机登陆的user idex的
有漏洞进的后台还是?
暂时没发现漏洞 我拿下其他服务器 发现sql是同种密码进的 可参照https://www.t00ls.com/viewthread.php?tid=43311
嗯,我看看
为什么那么多校园网都喜欢用锐捷呢?
有漏洞进的后台还是?
暂时没发现漏洞 我拿下其他服务器 发现sql是同种密码进的 可参照https://www.t00ls.com/viewthread.php?tid=43311
有漏洞进的后台还是?
从路由器的漏洞入手也能达到目的
兄台可否给些相关文章参考一下,没搞过路由器的漏洞。
也是从固件入手找漏洞,这个路由器是什么型号
从路由器的漏洞入手也能达到目的
兄台可否给些相关文章参考一下,没搞过路由器的漏洞。
锐捷啊,我们学校今年刚改装的,默认密码是身份证后6,且没验证码,直接burp,还有,这玩意密码都不带加密的,直接明文,以前用城市热点至少还绕一层密码加密。。。
登陆次数多了就会出现验证码,但是用python写脚本爆破的话 好像没出现过验证码,之前我试过一下,但是效率有点。。你懂的。
从路由器的漏洞入手也能达到目的
观察仔细,细心研究哈
锐捷啊,我们学校今年刚改装的,默认密码是身份证后6,且没验证码,直接burp,还有,这玩意密码都不带加密的,直接明文,以前用城市热点至少还绕一层密码加密。。。
为什么不走一波445?
艹 我们学校就是用的锐捷