随着信息化技术的不断发展,软件安全成了软件行业的重大挑战,因此安全测试也成为了测试人员必备的技能之一。
沐沐在安全测试过程中较为常见的就是接口越权漏洞,在尝试过多种工具进行越权漏洞测试后,最终找到了个人认为最便捷最有效率的方式,即使用Burp Suite工具的Auth Analyzer插件进行接口越权批量测试;并且将接口越权测试作为常态化测试内容,不断提升软件安全测试的深度和广度。
下文将对接口越权和Burpsuite工具进行简介,重点说明Auth Analyzer插件进行接口越权批量测试的步骤。
一、接口越权
越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为Web应用十大安全隐患的第二名。
该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限验证不充分,就易致越权漏洞。越权漏洞分类为以下三种:
·未授权访问:是指本来没有账号(即没有某个功能权限),但是通过越权操作,获取了某个功能权限;
·水平越权:是指本来有个账号(即只能操作自己的数据,比如增删改查),但是通过越权操作,能操作其他同等权限账号的数据;
·垂直越权:是指本来有个账号只有较低的权限,但是通过越权操作,获取了更高的权限。
二、Burpsuite工具
Burp Suite是一款常用的集成化渗透测试工具,提供了仪表盘(Dashboard)、站点目标(Target)、代理(Proxy)、暴力破解(Intruder)、请求修改重发(Repeater)、随机数分析(Sequencer)、编码格式转换(Decoder)等多个模块的功能。我们可以使用Repeater模块进行接口修改,手工验证单个接口是否存在越权,但是这样效率较低,因此我们推荐使用Auth Analyzer插件进行接口越权批量测试。
(Burpsuite工具官方下载地址:https://portswigger.net/burp/releases)
三、下载Auth Analyzer插件
1.在Extensions->BApp Store里面下载Auth Analyzer插件,如下截图所示:
2.插件下载成功后,Burpsuite会进行显示,如下截图所示:
四、进行越权测试
1.在Proxy->Intercept模块下,将【Intercept is on】按钮切换成【Intercept is off】,即在开始抓包后不会进行拦截,如下截图所示:
2.打开内置浏览器,如下截图所示:
3.在内置浏览器用高权限用户访问系统进行操作,抓包的接口信息如下截图所示:
4.在内置浏览器用高权限用户访问系统进行操作,抓包的接口信息如下截图所示:
5.选中要进行越权测试的接口,鼠标右键弹窗显示Auth Analyzer插件,进行Repeat all requests操作,如下截图所示:
6.切换到Auth Analyzer模块查看接口越权分析结果,如下截图所示:
7.点击导出接口批量越权分析的结果,如下截图所示:
8.导出报告如下截图所示:
接口越权漏洞修复后,再重复以上步骤复测即可。希望这篇文章对大家有所帮助,提升接口越权测试的粒度和效率。
文末了:
可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。同时我邀请你进入我们的软件测试学习交流平台,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,了解测试行业的最新趋势,助你快速进阶Python自动化测试/测试开发,稳住当前职位同时走向高薪之路。