• 13
  • 14
分享
  • 还在人工测越权漏洞?快来自动扫描吧!——软件测试圈
  • 曼倩诙谐 2021-10-18 10:14:08 字数 1372 阅读 1000 收藏 14

  关于越权漏洞,大家都熟知水平越权、垂直越权,未授权访问,此处不再赘述概念了。对于越权类漏洞的测试,通用的测试方法,也都是人工通过代理抓包工具截获报文,然后尝试删除Cookie测试是否存在访问越权,或者篡改Uid、Uno之类的值测试是否存在业务逻辑越权等。这种人工检测越权类漏洞的方法,不仅工作量大,而且效率低,还容易产生遗漏。AppScan作为一个自动化的渗透测试工具,具备自动扫描越权漏洞的能力,可大大提高测试覆盖率和效率,减少人工成本。所以,快跟我一起挖掘AppScan的这项隐藏技能吧。

  这个功能的位置就在扫描配置-测试-特权升级,AppScan将越权叫做特权升级,表述略有不同,但是同一个意思。通过在AppScan中导入不同权限用户可访问的资源范围,AppScan就可以在测试过程中自动使用当前用户尝试去访问其他权限用户的资源,从而检测权限不足的用户是否可以访问到其他用户的资源范围。

  通过界面我们可以看到,AppScan扫描越权漏洞的两种方式:更高级的特权用户测试和非认证的用户测试。

1-1.png

  更高级的特权用户测试:导入一个更高级的特权用户的扫描文件,这个更高级的特权用户已经生成了扫描结果。扫描时,AppScan会使用当前较低级别的用户账号去尝试访问更高级别用户才可以访问到的链接。并通过扫描结果展示哪些访问成功了。

  非认证的用户测试:导入一个没有用户认证的情况下的扫描文件。然后,AppScan会使用当前认证运行扫描,并记录其访问的新链接,接着再注销,并在没有认证的情况下去尝试访问这些新链接,扫描结果会展示哪些访问成功了。

  有一个要点就是:在上述测试方式中进行比较的扫描必须具有相同扫描配置,或者等效探索数据。例如,如果被测网站在某个扫描中进行测试之前已经过手动探索,那么必须在与之进行比较的扫描中的测试阶段之前执行同一手动探索。

  接下来,我们通过一个实例来演示一下AppScan自动化扫描越权漏洞的过程。

  以Pikachu靶场的垂直越权漏洞为例,在这个靶场中有两个用户:admin和pikachu,可以理解为admin是管理员用户,pikachu是普通用户。

1-2.png

  首先,打开AppScan创建扫描,用admin用户登录,AppScan记录相关操作所产生的的请求响应,运行测试,将扫描文件保存为admin.scan。

  然后,再打开AppScan,创建新的扫描文件,使用pikachu用户登录,进行相关操作,AppScan会记录相应的请求响应。

  第三步,打开扫描配置-特权升级,单击1.png,选择刚刚保存的admin.scan文件,点击打开。并在下一步会弹出选择角色的窗口,录入角色为管理员,确定完成导入。

1-3.png

1-4.png

1-5.png

  第四步:关闭扫描配置页面后,在主页面上点击扫描-仅测试,将这个扫描文件保存为pikachu.scan。这时,AppScan就会自动开始扫描了。扫描完成后,查看扫描结果,报出了“使用特权不足用户的特权升级”漏洞。

1-6.png

  AppScan的越权漏洞自动化扫描功能,可以覆盖垂直越权、水平越权、未授权访问这三类越权漏洞。通过自动化的扫描,可以提高覆盖率和效率。当然,自动扫描的结果需要进行人工的确认以排除误报。



作者:刘沅斌   

来源:http://www.51testing.com/html/10/n-4479010.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 常用的测试模块作为一个测试人员,如何有效的保证测试质量?如果只是回答按照测试用例进行详细测试,那是错误的。从可从两种不同的维度来保证测试质量。在测试周期内,按照测试范围可划分为以下4种:独立模块测试集成测试自由探索测试交叉测试从测试计划来划分,可分为以下3种:测试环境测试预生产环境测试正式环境验收测试浅谈自由探索+交叉测试在日常测试过程中,除了按部就班的按照需求文档、用例文档、UI效果文档来进行业务功能基础测试之外,个人开展测试过程种无形中会进行一个叫名为“自由探索”测试。所谓的“自由探索”,是在了解业务需求的基础上按照个人的经验、体验进行散发性的自由测试,进而发现需求外的不合理的业务逻辑,不...
            0 0 2090
            分享
          • 在系统实现中,经常需要用到序列号来记录操作执行的顺序或者打印时间戳等。因为序列号等我们只取正值,所以一般都使用无符号数以表示更大的范围。虽然一般的32位或者64位无符号数表示的范围很大,甚至可以确保在系统的生命周期内都不会用完,但是作为一个健壮的系统还是需要考虑无符号数达到最大后,重新归零的溢出问题。事件背景:数据库在sequence没有超过INTEGER类型上限时,系统程序代码中那些错误的和无意义的类型转换、实体类和BEAN用INTEGER类型作为主键的情况是不会引起错误的,一旦超过INTEGER类型上限时,这些场景下就会发生ID变成负数的情况,从而发生保存到数据库中的外键是负数或者根据ID...
            0 1 1654
            分享
          • 摘要:记录开发过程中遇到的问题,希望对诸君有所帮助,快速解决开发中遇到的类似问题。最近再开发过程中,因为公司增加了小程序业务,需在公众号中增加小程序的跳转,故将公众号跳转小程序的方法整理如下,供诸位使用,避免采坑。重点:只能跳转与公众号关联的小程序。1、公众号自定义菜单跳转到小程序http请求方式:POST(请使用https协议)接口:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN;自定义菜单格式如下:2、开放标签跳转小程序:1. 引入JS文件在需要调用JS接口的页面引入如下JS文件:http://...
            0 0 657
            分享
          • 相信很多小伙伴想要自学性能测试,但网上的资料查阅出来的都比较干燥,对实际的性能测试经验并没有什么提升,本文从测试前的准备带你了解如何成为一名性能测试工程师。在开始性能测试前,我们需要跟项目组确认的几点内容:性能测试环境与生产环境服务器资源差异,并做差异分析,如测试环境的服务器资源与生产环境的服务器资源差距较大,需反馈给项目组,不然测出来的结果没有太大的参考意义;开始测试前,确认日志级别,日志级别需要与生产保持一致。如生产的日志是Info级别,则在测试环境的日志也应该是Info级别;确认数据库铺底数据(采用的方式为:让运维取生产上的每日成交量的数据库数据量),如数据库都是空表在测试查询交易的时候...
            0 0 1405
            分享
      • 51testing软件测试圈微信