用Auth Analyzer插件批量测试接口越权,安全测试快人一步!

随着信息化技术的不断发展,软件安全成了软件行业的重大挑战,因此安全测试也成为了测试人员必备的技能之一。

沐沐在安全测试过程中较为常见的就是接口越权漏洞,在尝试过多种工具进行越权漏洞测试后,最终找到了个人认为最便捷最有效率的方式,即使用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自动化测试/测试开发,稳住当前职位同时走向高薪之路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java springboot 监控线程池的状态

Autowiredprivate Executor personInfoTaskExecutor;/*** 监控线程池状态* return*/GetMapping("asyncExceutorInfo")public Map getThreadInfo() {Map map new HashMap();Object[] myThread {personInfoTaskExecutor};for (Object thread : myThread) {ThreadPoolT…

Git教程1:生成和提交SSH公钥到远程仓库

要生成 Git 的公钥并将其提交到远程仓库,你可以按照以下步骤进行操作: 打开命令行终端,并确保已经安装了 Git。在终端中输入以下命令来生成 SSH 密钥对:ssh-keygen -t rsa -b 4096 -C "your_emailexample.com"这将生成…

网络连接Android设备

参考:https://blog.csdn.net/qq_37858386/article/details/123755700 二、网络adb调试开启步骤 1、把Android平板或者手机WiFi连接到跟PC机子同一个网段的网络,在设置-系统-关于-状态 下面查看设备IP,然后查看PC是否可以ping通手机的设备的IP。 2、先…

[ 加密 ] SHA256

SHA256 例程 一般文件的完整性要使用md5或者sha进行完整性校验,这里提供两个函数, intact_update_sha 是计算指定文件SHA值并保存到SHA文件 intact_check_sha 计算文件SHA值并和SHA文件进行对比 编译方法: gcc demo.c -lssl -lcrypto #…

【运维日常】lvm中的lv是如何扩容的---直接干

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

ansible练习题1

安装并配置ansible 在控制节点上安装并配置Ansible,要求如下: | 安装所需的软件包: 创建静态inventory文件/home/student/ansible/inventory ,要求如下: servera属于dev主机组 serverb属于test和balancers主机组 serverc和serverd属于prod主机组 …

springboot上传文件

Content-Type只能用form-data 另外请求体不能包好几层,可以用一个实体类接收 示例: public class UploadFileDTO {private MultipartFile file; }也可以直接用 MultipartFile file接收; 也可以加注解RequestParam 不能加RequestBody注解

14.Oracle中的事务

oracle的事务管理 一、什么是事务二、事务的基本操作1、事务的开始与结束2、事务处理的案例2.1题目12.2题目2 一、什么是事务 Oracle 11g是一个关系型数据库管理系统,它提供了强大的事务管理功能,可以确保数据库操作的一致性、可靠性和持久性。事务是数…

MAVEN——PACKAGE、INSTALL、DEPLOY的联系与区别

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结…

【rust:tauri-app踩坑记录】dangerousRemoteDomainIpcAccess 不适用于IP地址,临时解决方案

找到一个临时解决方案: 修改依赖包的源代码 找到 C:\Users%USER_HOME%.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-1.4.1\src\scope\ipc.rs 修改 函数 remote_access_for 将 155 行中的 matches_domain 删除掉,去掉校验 if matches_w…

数据仓库及ETL的理论基础

数据仓库(Data Warehouse)是一个用于存储和管理大量结构化数据的系统,旨在支持企业的决策制定过程。它是一个集成的、主题导向的、时间变化的、非易失性的数据集合,用于支持企业的决策制定过程。数据仓库的设计目标是提供高性能的…

重磅解读 | 阿里云 云网络领域关键技术创新

云布道师 10 月 31 日,杭州云栖大会,阿里云技术主论坛带来了一场关于阿里云主力产品与技术创新的深度解读,阿里云网络产品线负责人祝顺民带来《云智创新,网络随行》的主题发言,针对阿里云飞天洛神云网络(下…

PostgreSQL按月计算每天值的累加

要按月计算每天值的累加,您可以使用PostgreSQL中的日期函数和窗口函数。下面是一个示例查询,假设您有一个名为"table_name"的表,其中包含一个日期列"date_column"和一个数值列"value_column": SELE…

spark内置数据类型

在用scala编写spark的时候,假如我现在需要将我spark读的数据源的字段,做一个类型转换,因 为需求中要拼接出sql的create table语句,需要每个字段的sql中的类型,那么就需要去和sparksql 中的内置数据类型去比对。 写s…

丐版设备互联方案:安卓linux互联局域网投屏,文件共享,共享剪切板

华为,苹果,甚至小米最近也推出了澎湃OS,发现实在是太方便了,当然这些对硬件,系统的要求还是比较高,我用的主力机是小米12pro和ubuntu,win双系统也…

数据库mysql详细教学

目录 mysql的第一组基本操作:数据库操作 1、查看当前数据库 2、创建数据库 3、选中数据库 4、删除数据库 5、表操作 5.1查看数据库中的表 ​编辑 5.2创建表 5.2.1数据类型 5.3 查看指定表的表结构 5.4删除表 5.5 MySQL表的增删改查 5.5.1新增 / 插入数据…

MQTT通信协议使用说明

目录 1 MQTT连接属性1.1 服务器URL(Broker Address)1.2 客户端标识(clientID)1.3 用户名称 & 密码(User Name & Password)1.4 连接超时(Connection Timerout)1.5 心跳间隔 (KeepAlivelnterval)1.6 清除会话(cleanSession) 2 主题&消息2.1 主题2.1.1 订阅主题(SUBSC…

记录一个简单的博客系统该开发过程

文章目录 1.1 设计前端页面1.2 编写数据库相关代码1.3 实现功能的前后端交互 总结 1.1 设计前端页面 首先我们的博客系统要有几个网页界面 博客列表页博客详情页登录页博客编辑页 1.2 编写数据库相关代码 本环节我们需要完成以下几个步骤. 先设计数据库(表设计), 然后编写…

uview-plus中二级菜单左右联动更改为uni-app+vue3+vite写法

uview-plus3.0重磅发布&#xff0c;全面的Vue3移动组件库 该插件使用的vue2写法&#xff0c;但支持vue3引用&#xff0c;在此基础上修改为uni-appvue3vite; <template><view class"u-wrap mainClass"><!-- <back-header :title"pageTitle&quo…

太累了,是时候让AI数字人来帮我干活了(走,上教程)

阿酷TONY&#xff0c;原创文章&#xff0c;长沙&#xff0c;2023.11.21 关 键 词&#xff1a;AI数字人&#xff0c;生成式AI&#xff0c;智能数字分身适用场景&#xff1a;培训数字人&#xff0c;演讲授课数字人&#xff0c;直播带货数字人特别说明&#xff1a;教程用的是国内…