一个有趣的逻辑漏洞

最近在鹅厂挖到一个比较有意思的逻辑漏洞,一开始并没有发现这个漏洞,后面思考功能的时候才发现这个漏洞

利用过程

网站是一个用户之前协同使用的一个网站,邀请了另一个账户作为普通用户,在测试一下简单的逻辑漏洞后发现并不存在,网站对权限控制做的还是可以的

这时候看了bp里面的数据包

发现有个isAdmin的参数,顾名思义便想到是判断用户身份的

这时候我登陆了一个普通用户

可以看到是一个普通用户,在这个用户界面设置代理抓包,然后可以看到上面这个数据包,修改了一下返回包,把false改为true

然后把之前判断其他用户权限的参数由true改为false,然后放包

这样以普通用户的身份获取到了本应是管理员的功能界面,且返回了这个组内其他成员的uin,以及用户邀请其他用户的链接

然后利用设置权限的功能可以绕过权限控制,为其他用户提升/降低权限

这里进行修改权限的时候,会提示没有权限,但是依然是成功修改的,还有就是改返回包的时候会有两处需要修改,不然都会导致无法绕过权限控制修改其他用户的权限

后记

这个漏洞本身也没有太多的技巧在里面,关键还是能不能想到,在知道网站的功能以及观察bp数据包才想到这种漏洞挖掘手段,后面又看到类似这种协同的网站,以差不多的手法同样挖掘到了这个网站的漏洞,只是告诉大家可以测试的手法,顺便做个简单的记录

发表评论

电子邮件地址不会被公开。 必填项已用*标注