越权漏洞(1)

水平越权、垂直越权

这篇文章对逻辑越权中的水平越权和垂直越权进行一个总结,顺带加一个墨者靶场"身份认证失效漏洞实战"的一个打靶记录+工具的使用。正文如下:

水平越权:用户拥有相同等级的权限,但是通过更换某个ID之类可以使同级用户a获取(修改,删除)同级用户b的数据

垂直越权:使用低身份的账号,发送高权限才有的请求,获得更高权限的操作。

无授权访问:通过删除请求中的认证信息后重新发送该请求,依旧可以访问或者完成操作。

图片来源:https://blog.csdn.net/weixin_45441315

漏洞原理:后台使用了不合理的校验规则,只验证了能访问数据的角色,没有对数据进行细分。前端安全造成,判断用户等级后,代码界面部分进行可选显示。只是不显示管理员访问的界面,但是仍然存在。后台安全造成,将用户信息和管理员信息放到了同一张表中,通过usertype进行管理员和用户判断。如1为管理员,2为用户。用户在访问的时候进行抓包将2修改为1,则可以获得管理员权限。

限制条件:水平越权想要越到别的同等级的账号,必须得有同等级用户的账号或者id,这是在信息收集的时候要做好的工作。

垂直越权如果低权限用户想要添加一个用户,首先得获取到添加用户的数据包。获取途径:普通用户前端有操作界面可以抓取数据包、通过网站源码本地搭建、忙猜。限制条件有点多。

防护:有了原理,那么我们就可以根据原理进行防护。

1>前后端同时对用户输入信息进行验证

2>调用功能前验证用户是否有权限进行验证

3>执行关键操作前必须验证用户身份,验证用户是否具备操作数据权限。

4>直接对象引用加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理。

5>对可控参数进行严格的检查和过滤

信息时代,个人信息很重要,所以关于用户信息泄露公司是会很重视的。接下来进行墨者靶场的一个简单记录。可以更深入的了解越权漏洞。

目标:通过已知用户test,获取到马某的个人信息。

1.登录test用户,进行抓包

 2.我们看到这个数据包,第一反应是修改uid,将其改为马某的账号,但是我们不知道马某的账号,所以看下一个数据包,点击forward发送出去,看下一个数据包

3. 看到这个我们也可以想到修改card_id,将后面的22随便改一个,看看是否可以查看到同级用户的信息

 4.当改为23的时候,我们发现跳转到另一个同级用户的信息。

  这时候我们就可以用00到99进行批量的测试

  打开抓包工具,将抓取的含有card_id数据包发送到intruder(右击就可以看到)

 然后点击清除,然后选中11,进行添加,最后再点击payloads

 然后这样设置,从00到99,最后点击上面的intruder,点start开始。

通过抓到的数据包,我们可以查看,有数据的长度比较长,所以点长度哪里进行从长到短排序。我们在一个一个进行查看

5. 看这个user是马开头的,我们就猜想,这个就可能是马某,然后我们进行验证,将我们测试账号的数据包中的card_id修改为马某的

   其实用户不多,我们可以一个一个的查看,一个一个进行测试。但是放到实战中可能工作量很大,我们可以看登录页面有马某的头像,我们点击,右击产看源代码,发现正是马某的id

6.我们发现key没有出来,因为这还要我们进行对马某账号的登录,但是如果只是获取马某信息,我们已经成功了。

然后我们对马某数据包的"password":"71cc568f1ed55738788751222fb6d8d9"进行md5解密(md5在线解密工具),这个就是马某的密码,有了账号密码,自然也就登录上去了。解密是:9732343

7.最后我们进行登录就可以得到马某的全部信息以及key。

最后在说一下检测漏洞的工具,

按箭头所指方向进行安装,点击就install进行安装。

使用:以墨者靶场为例,在我们完成第四步的操作时将所有的数据包发送到authz中。

上面的cookie设置成测试用户test的。然后选中所有数据包,右击run,如果是绿色的那么存在越权漏洞

我们发现全部存在越权漏洞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值