逻辑漏洞会导致业务面临着巨大的经济损失隐患与敏感数据泄露的风险,本文从安全测试的角度,以越权逻辑漏洞为例,介绍逻辑漏洞的挖掘方法和实践过程。
一、什么是越权逻辑漏洞
定义:指由于系统的权限控制逻辑不够严谨,使得系统用户可以访问或操作未授权的数据和功能。包括水平越权和垂直越权。
水平越权:指当系统存在多个相同权限的用户时,A 用户可以访问或操作到其他用户的资源。如图 1.1 所示,用户 A、B、C、D 都是普通用户,当用户 A 可以访问到用户 B 或者其他用户资源时,就产生了水平越权。
垂直越权:指当系统存在不同权限的用户时,低权限用户可以访问或操作到高权限用户的资源。如图 1.1 所示,当普通用户或者其他低权限用户可以访问到比自己权限高的用户资源时,就产生了垂直越权。
图 1.1
二、越权逻辑漏洞挖掘方法
基于越权逻辑漏洞的定义和分类,从模拟攻击者攻击漏洞的角度出发,可以总结出以下两种挖掘方法。
2.1 未授权访问测试
指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问的页面或者信息。具体流程为:
1)统计测试接口;
2)使用抓包工具获取接口入参;
3)不填写 cookie 或者填写无效 cookie 重新请求;
4)查看请求结果,如果返回了正确 cookie 才能取得的