垂直越权和横向越权 如何在网站中进行漏洞检测?



    关于流量获取,首先要考虑的是环境问题:在哪个环境中获得请求,然后返回到哪个环境中。

由于水平越权地访问写入接口可能会导致脏数据,因此整个扫描环境都选择在测试环境中。选

择测试环境的另一个好处是,您可以提前发现测试中尚未上线的界面存在的安全问题,直接在

项目测试过程中进行修复和回归验证,从而最大限度降低修复成本和推进难度。
 
 
接下来,通过抽样和过滤后,将获得的请求重新组装以重放。重新播放时,至少需要准备一个

无权限帐户和一个有权限帐户。在零售业务场景中,横向越权主要是指跨店横向越权。例如有

两个商店A和B,每个商店都有店员和主管角色,如果商店A的主管能够访问商店B主管能够访

问的敏感信息,那么就存在水平越权;如果商店A的主管能够操作只有商店A主管才能操作的

功能,那么就存在垂直越权。因此,对于垂直越权,为同一店铺中不同角色准备账户,以模

拟有权限和无权限访问的情况。而且对于级别越权,有权限的账户可以在原始请求中获取账

户信息,而无权限的账户可以在新的账户中单独设置账户。
 
 
最终,获得对应的返回结果,根据对应的检查类型采取不同的检查方法。纵向越权主要看接

口是否配置了权限,权限检查是否生效。横向越权比较复杂,需要根据界面参数中的对象访

问、界面操作行为等多个特征综合判断。
 
 
核心算法设计,在界面越权扫描平台中,能够发现越权问题的最基本逻辑是:有权限的人获

取对象信息,无权限的人获取对象信息,从两者的回溯上可以看出区别。主要算法逻辑是围

绕这一基本判断标准,努力提高越权问题的发现效率,并减少错误报文。我们应该让代码在

尽可能多的时间内识别被访问对象,同时能够理解返回的对象信息,识别越权。怎样实现这

一目标,既困难又具有挑战性:从请求中可以获得的信息很少,但返回的结果却千差万别,

判断越权时常常要借助于一些额外的信息,对于越权的处理没有标准化,特别是在水平越权

中,这一现象更为严重:有些代码对越权进行了单独的检查,有些则通过关联查询数据进行

保护,而在返回的性能方面则有所不同。大量的额外工作是确定各种不规范的回车。因此,

这个部分需要不断的观察分析和优化。
分享: