AuthMatrix 是一个 Burp Suite 扩展,它提供了一种简单的方法来检测越权漏洞问题
2023-6-7 12:29:58 Author: Ots安全(查看原文) 阅读量:25 收藏

AuthMatrix 是 Burp Suite 的扩展,它提供了一种简单的方法来测试 Web 应用程序和 Web 服务中的授权。使用 AuthMatrix,测试人员专注于预先为特定目标应用程序彻底定义用户、角色和请求表。这些表的结构与各种威胁建模方法中常见的访问控制矩阵的格式类似。

一旦表格被组装好,测试人员就可以使用简单的点击运行界面来启动所有角色和请求的组合。结果可以通过一个易于阅读的彩色编码界面来确认,该界面指示在系统中检测到的任何授权漏洞。此外,该扩展提供了保存和加载目标配置以进行简单回归测试的能力。

安装

AuthMatrix 可以通过 Burp Suite BApp Store 安装。在 Burp Suite 中,选择 Extender 选项卡,选择 BApp Store,选择 AuthMatrix,然后单击安装。

对于手动安装,请从此存储库下载 AuthMatrix.py。然后从 Burp Suite 中,选择扩展程序选项卡,单击添加按钮,将扩展类型更改为 Python,然后选择 AuthMatrix python 文件。

笔记

AuthMatrix 需要配置 Burp Suite 才能使用 Jython。简单的说明位于以下 URL。

https://portswigger.net/burp/help/extender.html#options_pythonenv

请务必使用 Jython 2.7.0 或更高版本以确保兼容性。

  1. 为目标应用程序中的所有权限级别创建角色。(常见角色可能包括用户、管理员和匿名)

  2. 创建足够多的用户来适应这些不同的角色,并选中用户所属的所有角色的复选框。仅包含一个用户的“单用户”角色将自动配置以协助跨用户资源测试。如果不需要这些,请随时通过右键单击请求表中的列来删除这些角色。

  3. 从 Repeater 选项卡为每个用户生成会话令牌,并将它们输入到用户表中的相关列中。Cookie 可以通过 Repeater 中可用的右键单击菜单直接发送给用户。AuthMatrix 将智能地解析表中的 cookie 字符串,并在适用的情况下将它们替换/添加到请求中。

    • 注意:Cookie 字段是可选的。如果目标改为使用 HTTP 标头,则可以通过单击“新标头”按钮添加这些标头。

    • 有关更高级的配置,包括凭据的自动刷新,请参阅下面的“用于验证用户的链”示例。

  4. 从 Burp Suite 的另一个区域(即目标选项卡、中继器选项卡等)右键单击请求并选择“发送到 AuthMatrix”。

  5. 在 AuthMatrix 的请求表中,选中有权发出每个 HTTP 请求的所有角色的复选框。

  6. 根据请求的预期响应行为自定义响应正则表达式以确定操作是否成功。

    • 常见的正则表达式包括 HTTP 响应标头、正文中的成功消息或页面正文中的其他变体。

    • 注意:可以通过右键单击菜单将请求配置为使用失败正则表达式(即,经过身份验证的用户永远不会收到 HTTP 303)

  7. 单击底部的运行以运行所有请求或右键单击多个请求并选择运行。观察相邻的表格将显示颜色编码的结果。

    • 绿色表示未检测到漏洞

    • 红色表示请求可能包含漏洞

    • 蓝色表示结果可能是误报。(这通常意味着存在无效/过期的会话令牌或不正确的正则表达式)

示例 AuthMatrix 配置


检测到误报(无效会话令牌)


链提供了一种将静态或动态值复制到请求正文中的方法。这些值可以从先前运行的请求的响应中提取(使用正则表达式)或通过指定用户特定的静态字符串值。

链最常见的用例是:

  1. 使用有效的 CSRF 令牌填充请求

  2. 测试新创建的 ID/GUID 以解决跨用户授权问题

  3. 自动化身份验证和会话刷新

Chain entry目具有以下值:

  • 链名:一个描述性的名字

  • Source:User表中定义的静态用户字符串或Request表中源请求的ID

  • 提取正则表达式:用于从源请求的响应中提取值的正则表达式。仅当在前一个字段中指定请求时才使用此字段。如果使用,这必须包含一个要提取的括号分组 [ie (.*)]

  • 目的地:源值将被替换到的请求 ID 列表。

  • 替换正则表达式:用于确定要插入源值的位置的正则表达式。这必须包含一个要替换的括号分组 [ie (.*)]

  • Use Values From:指定是使用从一个选定用户获得的源值(对跨用户资源测试有用)还是使用所有用户的值并将它们放入相应用户的目标请求中(对 CSRF 令牌等自动化任务有用)恢复)

注意:请求按行顺序运行,但是,如果检测到链依赖性,AuthMatrix 将按所需顺序运行请求。


CSRF测试链


跨用户资源测试链


用户认证链


失败正则表达式模式

对于某些目标,配置 AuthMatrix 以检测请求失败时的响应条件可能更容易。例如,如果目标站点在成功请求时返回唯一数据,但在执行未经授权的操作时始终返回 HTTP 303。

在这种模式下,AuthMatrix 将为所有不属于后续角色的用户验证此正则表达式。

为此,请右键单击该请求并选择“切换正则表达式模式”。正则表达式字段将以紫色突出显示,表示 AuthMatrix 将在失败正则表达式模式下运行请求。

注意:误报检测和突出显示可能无法在失败正则表达式模式下工作

失败正则表达式模式的示例配置

项目地址:

https://github.com/SecurityInnovation/AuthMatrix

感谢您抽出

.

.

来阅读本文

点它,分享点赞在看都在这里


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247498471&idx=2&sn=c7411af398c8a9865602f6386510cfb6&chksm=9badb3acacda3aba84f09fa8954ae4c63352aadd8099c46accc77704220417d1deede7f58435#rd
如有侵权请联系:admin#unsafe.sh