越权检测 burp插件 autorize 使用
Autorize 官方描述
Autorize 是 Burp Suite 的自动授权强制检测扩展。它是由应用程序安全专家 Barak Tawily 用 Python 编写的。Autorize 旨在通过执行自动授权测试来帮助安全测试人员。在最新版本中,Autorize 还可以执行自动身份验证测试。
Autorize 是一个旨在帮助渗透测试人员检测授权漏洞的扩展,这是 Web 应用程序渗透测试中比较耗时的任务之一。
将低权限用户的 cookie 提供给扩展程序并使用高权限用户浏览网站就足够了。该扩展会自动重复每个请求与低权限用户的会话并检测授权漏洞。
除了授权漏洞之外,还可以在没有任何 cookie 的情况下重复每个请求,以检测身份验证漏洞。
该插件无需任何配置即可工作,但也是高度可定制的,允许配置授权执行条件的粒度以及插件必须测试哪些请求,哪些不需要。可以保存插件的状态并以 HTML 或 CSV 格式导出授权测试报告。
报告的执行状态如下:
绕过!- 红色
强制执行!- 绿色
强制执行???(请配置强制检测器) - 黄色
安装
- 下载 Burp Suite(显然): http: //portswigger.net/burp/download.html
- 下载 Jython 独立 JAR:http 😕/www.jython.org/download.html
- 打开 burp -> Extender -> Options -> Python Environment -> Select File -> 选择 Jython standalone JAR
- 从 BApp Store 安装 Autorize 或按照以下步骤操作:
- 下载 Autorize.py 文件。
- 打开 Burp -> Extender -> Extensions -> Add -> 选择 Autorize.py 文件。
- 查看 Autorize 选项卡并享受自动授权检测:)
jython环境
首先下载
官网下载: Jython Standalone Downloads | Jython
配置如下
官网下载: Jython Standalone Downloads | Jython
-
BApp Store 安装
用户指南 - 如何使用?
- 安装后,Autorize 选项卡将添加到 Burp。
- 打开配置选项卡(Autorize -> Configuration)。
- 获取您的低权限用户授权令牌标头(Cookie/授权)并将其复制到包含文本“在此处插入注入标头”的文本框中。 注意:此处插入的标题将被替换(如果存在)或添加(如果不存在)。
- 如果不需要身份验证测试,请取消选中“Check unauthenticated”(不带任何 cookie 的请求,除了使用低权限用户的 cookie 执行授权之外,还要检查身份验证执行情况)
- 选中“Intercept requests from Repeater”以拦截通过 Repeater 发送的请求。
- 单击“拦截已关闭”开始拦截流量,以便 Autorize 检查授权执行情况。
- 打开浏览器并配置代理设置,以便将流量传递给 Burp。
- 浏览到您要使用高特权用户测试的应用程序。
- Autorize 表将向您显示请求的 URL 和执行状态。
- 可以单击特定 URL 并查看原始/修改/未经身份验证的请求/响应以调查差异。
使用
1 获取低权限cookie
这里可以将获取低权限cookie复制到此处
或者点击 fetch cookies header,会从最近一次请求历史中提取cookie
2 开启插件
3 在burp的代理浏览器,以高权限用户访问页面,此时插件左边会获取到请求
4 当你在代理浏览器浏览时,该插件会记录三个请求与响应:
原始cookie的请求
修改后cookie的请求(就是之前复制进去的那个低权限cookie)
无cookie请求
首先看颜色 红色存在越权,黄色代表不确定,绿色代表ok
左边一列 红色代表存在越权可能;
右边一列 红色代表存在未授权访问可能;
接着点击 三个代表响应长度的数字,在右侧查看具体响应。
如果是 响应中 包含敏感数据,或者一些增删改的post请求,就可以报bug了
授权执行状态
有 3 种执行状态:
- 绕过!- 红色
- 强制执行!- 绿色
- 强制执行???(请配置执法检测器)-黄色
第三种状态意味着 Autorize 无法确定是否强制执行授权,因此 Autorize 将要求您在强制检测器选项卡中配置过滤器。有两种不同的强制检测器选项卡,一种用于检测低特权请求的强制执行,另一种用于检测未授权请求的强制执行。
执行检测器过滤器将允许 Autorize 通过消息正文、标头或完整请求中的内容长度或字符串(文字字符串或正则表达式)来检测服务器响应中的身份验证和授权执行。
例如,如果有一个请求执行状态被检测为“授权执行???(请配置执行检测器)”,则可以调查修改后的/原始的/未验证的响应,并看到修改后的响应主体包含字符串“您无权执行操作”,因此您可以添加指纹值为“您无权执行操作”的过滤器,因此 Autorize 将查找此指纹并自动检测是否已强制执行授权。可以通过在标头中定义内容长度过滤器或指纹来执行相同的操作。