安全矩阵

 找回密码
 立即注册
搜索
查看: 437|回复: 0

分享一款越权测试的神器

[复制链接]

189

主题

191

帖子

903

积分

高级会员

Rank: 4

积分
903
发表于 2023-1-23 22:37:07 | 显示全部楼层 |阅读模式
分享一款越权测试的神器 (qq.com)

主要作用这个工具主要是可以帮助找到授权/权限相关的问题。是之前测试的时候一个童鞋推荐的,试了之后用户体验感觉还行,所以来分享一波。
GUI预览
编辑
1.为你要测试的每个用户创建或克隆会话。
2.保存并加载会话设置
3.指定会话特征(主要是Headers或者是参数)
4.根据需要设置过滤器(主要是根据特征排除)
5.启动/停止或者暂停Auth Analyzer
6.指定表格过滤器
7.与另一个用户一起浏览 Web Application 并跟踪重复请求的结果
8.将表格数据导出为XML或HTML
9.手动分析原始和重复的请求/响应
半自动权限测试在第一步中定义要测试的会话。 然后只需展开你的站点地图(sitemap),选择资源并通过上下文菜单重复请求。此外,您可以定义一些选项,哪些请求应该重复,哪些不应该。
参数提取Auth Analyzer有可能定义参数,这些参数在给定会话的请求被重复之前被替换。给定参数的值可以根据不同的要求来设置。
自动提取如果参数值出现在具有以下约束条件之一的响应中,将被提取。

           
  •         一个带有Set-Cookie头的响应,其Cookie名称被设置为定义的提取字段名。

           
  •         一个HTML文档响应包含一个输入字段,其名称属性设置为定义的提取字段名。

           
  •         一个JSON响应包含一个设置为提取字段名的键。

默认情况下,Auth Analyzer会尝试从所有位置自动提取参数值。然而,点击参数设置图标可以让你根据你的需要限制自动提取的位置。
编辑
From-To String如果响应在一行中包含指定的字符串,该参数将被提取;From-To String可以手动设置,也可以直接通过相应的上下文菜单设置。只要在任何响应中标记你想提取的字符串,并设置为你喜欢的参数的From-To提取。
默认情况下,Auth Analyzer会尝试从头和正文中提取大多数文本响应的值。然而,点击参数设置图标可以让你根据你的需要限制从头到尾的提取位置。
编辑
Static Value可以定义一个静态参数值。这可用于静态CSRF令牌或登录凭证。
提示输入如果定义的参数出现在一个请求中,你会被提示输入。例如,这可以用来设置2FA的code。
参数替换如果一个值被设置(提取或由用户定义),如果相应的参数出现在一个请求中,它将被替换。参数替换的条件如下:
Replacement Location(替换的位置)如果参数出现在以下位置之一,则该参数将被替换:
编辑

           
  •         在 Path 中(例如: /api/user/99/profile --> 如果存在名为 user 的参数,则值 99 将被替换)

           
  •         URL 参数(例如 email=hans.wurst[a]gmail.com

           
  •         Cookie 参数 (e.g. PHPSESSID=mb8rkrcdg8765dt91vpum4u21v)

           
  •         主体(body)参数有可能是 url编码 也有可能是 多部分表单数据

           
  •         JSON参数(例如{"email":"hans.wurst[a]gmail.com"})

默认情况下,参数值将在每个位置被替换。然而,点击参数设置图标可以让你根据你的需要限制位置。
编辑
参数擦除可以完全删除定义的参数,例如测试 CSRF 检查机制。
使用示例自动提取会话Cookie将用户名和密码定义为一个静态值。会话cookie的名称必须被定义为自动提取。验证你在没有设置会话cookie的情况下开始浏览应用程序。登录到网络应用程序。Auth Analyzer会用静态参数重复登录请求,并通过Set-Cookie头自动获取会话。这个Cookie将被用于给定会话的进一步请求。定义的Cookie将被视为一个参数,因此必须不必定义Cookie头。
编辑
注意:你可以限制一个参数的提取和替换条件,以避免在提取/替换阶段发生故障。
编辑
会话Header和CSRF令牌参数定义一个Cookie头和一个CSRF令牌(自动提取值)。如果CSRF令牌的值出现在HTML输入标签、Set-Cookie头或给定会话的JSON响应中,它将被提取出来。
编辑
从JavaScript变量中自动提取由于自动提取方法只适用于HTML输入字段、JSON对象或Set-Cookie头文件,我们必须使用名为From To String的通用提取方法。通过这种提取方法,我们可以从一个响应中提取任何值,如果它位于一个独特的开始和结束字符串之间。Auth Analyzer提供了一个上下文菜单方法来自动设置From String和To String。只要标记你想提取的字符串,并通过上下文菜单设置为From-To提取。
编辑
自动提取并插入一个Bearer令牌由于授权头没有被当作一个参数(就像对待Cookie头那样),我们可以使用一个头的插入点来实现我们的目的。只要在指定的头中标记并右击你想替换的值。如果还没有提取到参数值,就会使用默认值。
编辑
同时测试好几个角色只要创建你想要的会话,就可以一次测试几个角色。
编辑
刷新自动提取的参数值只要在会话状态面板上按下Renew,或者通过上下文菜单重复受影响的请求(在表格条目中鼠标右键)。提示:登录请求可以在事后被标记和过滤。
编辑
检验幂等操作原始请求可以被丢弃以测试幂等操作(例如DELETE函数)。
编辑
测试匿名会话如果一个匿名用户需要一个有效的特征(例如,一个有效的cookie值),你必须像往常一样定义头。否则,你可以定义一个头文件,如下所示:
编辑
测试CORS配置你可以通过在Header(s)处添加Origin头来替换并在会话面板上选择Test CORS,来轻松测试大量接口的单独CORS设置。通过选择测试 CORS,Auth Analyzer将在重复请求之前将HTTP方法改为OPTIONS。
编辑
验证绕过状态Auth Analyzer提供了一个内置的比较视图来验证两个响应之间的差异。只要标记你想分析的信息,并改变信息视图(1)。你现在可以比较两个请求(2) (3)。内置的差异功能将实时计算并显示两个请求之间的差异(4)
编辑
编辑
自动响应分析如果两个响应具有相同的响应主体和相同的响应代码,则该响应将被声明为相同。
如果两个响应都有相同的响应代码,并且两个响应都有+/-5%的响应体长度,则响应将被认为为相似。
在所有其他情况下,响应将被声明为不同的。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-19 21:59 , Processed in 0.015173 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表