关于越权漏洞,大家都熟知水平越权、垂直越权,未授权访问,此处不再赘述概念了。对于越权类漏洞的测试,通用的测试方法,也都是人工通过代理抓包工具截获报文,然后尝试删除Cookie测试是否存在访问越权,或者篡改Uid、Uno之类的值测试是否存在业务逻辑越权等。这种人工检测越权类漏洞的方法,不仅工作量大,而且效率低,还容易产生遗漏。AppScan作为一个自动化的渗透测试工具,具备自动扫描越权漏洞的能力,可大大提高测试覆盖率和效率,减少人工成本。所以,快跟我一起挖掘AppScan的这项隐藏技能吧。
这个功能的位置就在扫描配置-测试-特权升级,AppScan将越权叫做特权升级,表述略有不同,但是同一个意思。通过在AppScan中导入不同权限用户可访问的资源范围,AppScan就可以在测试过程中自动使用当前用户尝试去访问其他权限用户的资源,从而检测权限不足的用户是否可以访问到其他用户的资源范围。
通过界面我们可以看到,AppScan扫描越权漏洞的两种方式:更高级的特权用户测试和非认证的用户测试。
更高级的特权用户测试:导入一个更高级的特权用户的扫描文件,这个更高级的特权用户已经生成了扫描结果。扫描时,AppScan会使用当前较低级别的用户账号去尝试访问更高级别用户才可以访问到的链接。并通过扫描结果展示哪些访问成功了。
非认证的用户测试:导入一个没有用户认证的情况下的扫描文件。然后,AppScan会使用当前认证运行扫描,并记录其访问的新链接,接着再注销,并在没有认证的情况下去尝试访问这些新链接,扫描结果会展示哪些访问成功了。
有一个要点就是:在上述测试方式中进行比较的扫描必须具有相同扫描配置,或者等效探索数据。例如,如果被测网站在某个扫描中进行测试之前已经过手动探索,那么必须在与之进行比较的扫描中的测试阶段之前执行同一手动探索。
接下来,我们通过一个实例来演示一下AppScan自动化扫描越权漏洞的过程。
以Pikachu靶场的垂直越权漏洞为例,在这个靶场中有两个用户:admin和pikachu,可以理解为admin是管理员用户,pikachu是普通用户。
首先,打开AppScan创建扫描,用admin用户登录,AppScan记录相关操作所产生的的请求响应,运行测试,将扫描文件保存为admin.scan。
然后,再打开AppScan,创建新的扫描文件,使用pikachu用户登录,进行相关操作,AppScan会记录相应的请求响应。
第三步,打开扫描配置-特权升级,单击,选择刚刚保存的admin.scan文件,点击打开。并在下一步会弹出选择角色的窗口,录入角色为管理员,确定完成导入。
第四步:关闭扫描配置页面后,在主页面上点击扫描-仅测试,将这个扫描文件保存为pikachu.scan。这时,AppScan就会自动开始扫描了。扫描完成后,查看扫描结果,报出了“使用特权不足用户的特权升级”漏洞。
AppScan的越权漏洞自动化扫描功能,可以覆盖垂直越权、水平越权、未授权访问这三类越权漏洞。通过自动化的扫描,可以提高覆盖率和效率。当然,自动扫描的结果需要进行人工的确认以排除误报。
作者:刘沅斌
来源:http://www.51testing.com/html/10/n-4479010.html