找出安全漏洞:了解横向越权测试

什么是横向越权?

  • 横向越权:横向越权指的是攻击者尝试访问与他拥有相同权限的用户的资源;

  • 纵向越权:纵向越权指的是一个低级别攻击者尝试访问高级别用户的资源。

例:用户A无法访问到北京区域的用户详情,用户A没有重置北京区域用户密码的权限。

但是通过获取到重置密码的接口url和对应用户的userid,用他的token执行重置密码的接口。重置成功!

出现原因是什么?

问题出现根本原因是:Java后端没有对相应的接口做相应的防止横向越权措施。

怎么找出问题的接口?

测试过程:

1、与产品沟通,整理出所有用户权限相关的重要接口;

2、使用带有修改权限的A用户的token跑一遍;

3、使用未带有权限的B用户的token跑一遍。

具体操作如下(使用JMeter):

1、新建一个HTTP信息头管理器,将请求头必须变量写入(token);

2、将整理的所有重要接口分别新建http请求并写入;

3、使用带有权限的token跑所有接口,全部可以执行;

4、使用未带有权限的token跑所有接口,全部不可以执行;

5、找到有横向越权问题的接口,整理并反馈给开发。

身为一个测试人员,在新需求有新增接口的情况下,思考的不仅是新增功能的实现,还有接口性能和安全,如果提前测试,就可以减少更多线上问题反馈。

例:新增一个删除资产功能。

  • 功能:能正常删除、批量删除,数据库,存储对应资产均被删除。

  • 性能:批量100,200,300等梯度删除。

  • 安全:使用一个账号的token执行删除另一个账号的资产是否成功。

出现问题:使用一个账号的token执行删除另一个账号的资产成功。

解决方法,前端在执行删除操作时传入userid,后端通过token和userid作比对。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值