AuthMatrix:一款针对Web应用和服务的认证安全检测BurpSuite工具
时间:2022-07-22
本文章向大家介绍AuthMatrix:一款针对Web应用和服务的认证安全检测BurpSuite工具,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
AuthMatrix
AuthMatrix是一款针对Burp Suite工具的插件,该工具可以帮助广大研究人员对Web应用程序以及Web服务的认证机制进行安全测试。在AuthMatrix的帮助下,测试人员可以将注意力放在特定应用的用户表、权限、角色和请求上面了,而这些数据库表和网络请求的结构也可以直接映射到各种威胁建模方法中常见的访问控制矩阵。
工具安装配置完成之后,测试人员就可以直接通过鼠标点击就可以启动测试任务了。工具将以带有色彩高亮的界面显示测试的输出结果,并标注目标系统中存在的认证授权漏洞。
工具安装
AuthMatrix可以直接通过Burp Suite BApp Store来进行安装。在Burp Suite中,选择Extender标签页,然后选择BApp Store,选择AuthMatrix,然后点击安装即可。
如果研究人员想要进行手动安装的话,可以直接使用下列命令将该项目源码克隆至本地:
接下来,打开Burp Suite,选择Extender标签页,点击“Add”按钮,将扩展类型更改为Python,然后选择AuthMatrix Python文件即可:
git clone https://github.com/SecurityInnovation/AuthMatrix.git
注意事项
AuthMatrix的正常运行需要配置Burp Suite去使用Jython,具体配置方法请参考这篇【文档】。确保使用的Jython版本大于或等于v2.7.0,以保证工具的兼容性。
工具使用
- 在目标应用程序中创建拥有各种权限角色的用户账号,一般是User、Admin或Anonymous匿名帐户。
- 创建足够数量的用户来对应应用程序内的各种角色权限,然后通过勾选框来给用户进行分组。 “单个用户”角色只包含一个用户,你也可以删除组内用户。
- 在Repeater标签页中为每一个用户生成会话令牌,并在Users表的相应列中填写令牌。 Cookie可以直接通过右键点击Repeater界面中的用户来进行发送。 AuthMatrix可以对Cookie中的字符串数据进行智能解析,并填充至请求中。 这里的Cookie域是可选项,如果目标使用的是HTTP Header,这里也可以点击“New Header”按钮来进行Header添加。
- 在Burp Suite的其他标签页中,也可以右键点击来选择“发送给AuthMatrix”。
- 在AuthMatrix的请求表中,可以通过勾选框来选择需要发送HTTP请求的认证选项。
- 根据请求的响应行为来自定义响应正则式,并判断是否认证成功。 常见的正则式包含HTTP相应Header,成功信息以及其他变量将包含在body中。
- 点击工具下方的“Run”按钮,便可以直接批量发送请求,然后通过工具接口观察测试结果。 绿色内容表示无漏洞,红色表示请求中可能存在漏洞,蓝色表示结果可能存在假阳性。
工具演示截图
AuthMatrix样本配置
假阳性检测(无效的会话令牌)
CSRF检测
跨用户资源测试
用户认证
Failure Regex模式配置样本
项目地址
AuthMatrix:
https://github.com/SecurityInnovation/AuthMatrix
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Qt编写安防视频监控系统30-GPS运动轨迹
- Qt编写安防视频监控系统31-onvif设备搜索
- Qt编写安防视频监控系统32-onvif信息获取
- Qt编写安防视频监控系统33-onvif云台控制
- Qt编写安防视频监控系统34-onvif事件订阅
- Qt编写安防视频监控系统35-onvif抓拍图片
- Qt音视频开发1-vlc解码播放
- 【TBase开源版测评】分布式数据自动shard分片
- STL—mt19937
- 潘石屹用Python解决100个问题 | 字符类型统计
- 潘石屹用Python解决100个问题 | 分解质因数
- 使用Java Spring消费MySQL中的数据库存储过程
- 部署 Docker 及配置
- 【Spark on K8S】Spark里的k8s client
- 【每日一题】30. Substring with Concatenation of All Words