越权漏洞介绍
越权漏洞是指攻击者通过各种手段,绕过系统的权限控制,获得未被授权的访问权限,从而实现对系统的非法操作。
越权漏洞的产生原因
1.后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户可以猜测其他管理页面的URL或者敏感的参数信息,从而访问或控制其他角色用户的数据和页面。
3.开发人员对数据的增、删、改、查时对客户端请求的数据过分相信而遗漏了权限的判定,由于服务区端在接受到请求数据进行操作时,没有判断数据的所属人而导致的越权数据访问漏洞。
越权漏洞类型
越权漏洞的危害
在成熟的互联网企业中,统一的公共服务、标准的研发规范、成熟的自动化流水线,以及逐渐步入内生安全的代码框架,使得传统的 Web 应用安全漏洞越来越少。然而,越权漏洞因研发忘记对某个参数进行逻辑或归属校验而发生的几率依然很高,且造成的危害可能极大,危害主要表现以下下几个方面:
第一款越权测试工具亲测好用:xia_Yue (瞎越)
推荐指数:🌟🌟🌟🌟🌟
burp插件版,只需要开启插件运行即可,非常方便。配置简单。实用性强
github地址:https://github.com/smxiazi/xia_Yue/releases
插件描述
返回 ✔️ 表示大小和原始数据大小一致
返回 ==> 数字 表示和原始数据包相差的大小
可以在未授权和越权框处自定义要替换或去除的头部信息
第二款越权测试工具AutorizePro(可借助ai的力量)
推荐指数:🌟🌟🌟🌟
一款基于Burp Suite的插件,专注于越权漏洞检测。通过引入AI分析模块和优化逻辑,它将误报率从99%大幅降低至5%。用户可以配置低权限验证头和拦截规则,实现自动化检测并辅助人工分析。此外,该插件支持阿里云通义千问API,提供高效的越权检测及结果比对,显著节省时间和精力。
github地址:https://github.com/sule01u/AutorizePro/releases
优化检测逻辑 && 增加 AI 分析模块(可选项) ,将原始工具误报率从 99% 降低至 5% ,从海量误报中解脱出来
对于需要人工确认的告警可通过展示页面并排查看 原始请求、越权请求 以及 未授权请求 的数据包方便对比差异
安装
需要安装Jython:
https://repo1.maven.org/maven2/org/python/jython-standalone/2.7.4/jython-standalone-2.7.4.jar
配置 Burp Suite 的 Python 环境
打开 Burp Suite
导航到 Extender -> Options
在 Python Environment 部分,点击 Select File
选择你刚刚下载的 Jython standalone JAR 文件 (本项目测试环境为: jython 2.7.4, burp suite 2024.9(自带的java版本为java22))
安装 AutorizePro 插件
下载代码仓库最新版本的发布zip包到本地,解压
打开 Burp Suite,导航到 Extender -> Extensions -> Add
在 Extension Type 选择框中,选择python
在 Extension file 选择框中,选择代码仓库中 AutorizePro.py 文件路径 (注意路径不能有中文,否则安装失败)
使用 AutorizePro 插件
1. 打开配置选项卡:点击 AutorizePro -> Configuration。
2. 通过fetch cookie header按钮获取最新请求的验证头 或 手动复制低权限用户的验证头(通常是 Cookie 或 Authorization),并将其复制到标有 “Insert injected header here” 的文本框中。注意:如果请求中已经包含了该头部,插件会替换现有的头部,否则会添加新头部。
3. 如果不需要进行未授权的测试(即不带任何 cookie 的请求,用于检查接口是否存在身份验证,而不仅仅是低权限用户的越权检测),可以取消勾选 Check unauthenticated (默认开启)。
4. 勾选 Intercept requests from Repeater,通过 Repeater 发送的请求也会被进行插件处理。
5. 点击 AutorizePro is off 按钮启用插件,让 AutorizePro 开始拦截流量,并进行授权检测。
6. 打开浏览器,并配置代理设置,使流量能够通过 Burp 代理。
7. 使用高权限用户访问你想测试的应用程序,测试修改类资源时可使用 Match/Replace 配置越权测试时需要修改的资源信息。
8. 在 AutorizePro 插件的左侧结果展示界面中,你将看到请求的 URL 和 对应的权限检查状态。
9. 选择模型,填写对应api key;
10. 勾选复选框后,启用 Key 时,符合AI分析触发条件的请求会交由 AI 进一步分析,结果将展示在 AI. Analyzer 列。
11. 点击左侧展示页面的某个 URL,可以查看它的原始请求、修改后的请求以及未经身份验证的请求/响应,方便你分辨差异。
替换cookie方式测试越权,如下图
替换参数方式测试越权,如下图
查看选中条目的具体请求信息,可同时展示越权请求、原始请求、未授权请求,方便对比差异
(红色) : 判定越权
(绿色) : 判定不存在越权
Is enforced??? (please configure enforcement detector): 无法判断,可以在 enforcement detector 进一步配置越权特征协助判断
🌟 Tips:
Is enforced??? 状态表示插件无法确定接口是否做了权限控制,可通过 enforcement detector 进一步配置权限校验特征来辅助判断 或 启用AI来辅助分析。
eg:
如果某个接口对于越权访问请求会返回 "无权限" 这个指纹特征,
你就可以将这个指纹特征添加到 Enforcement Detector 过滤器中,这样插件判断时就会查找这个指纹特征,区分出实际已鉴权的接口,减少误报。
拦截过滤器位可以配置插件需要拦截哪些域名 或 拦截符合指定特征的请求。
你可以通过黑名单、白名单、正则表达式或 Burp 的范围内的项目来确定拦截的范围,以避免不必要的域名被 AutorizePro 拦截,避免对无关请求的拦截分散分析精力。
⚠️ ⚠️ 安全提示:因为工具涉及cookie替换重放,强烈建议 在 Interception Filters 指定目标的站点,以免cookie泄漏至其他站点 ⚠️ ⚠️
🌟 默认配置会避免拦截脚本和图片,你也可以新增更多静态资源类型的忽略规则。
AI分析功能需要先开通模型调用服务,在 阿里云百炼首页(https://bailian.console.aliyun.com/#/home)顶部提示 进行开通:
这是一款适用于yakit的插件,官方出品必是极品!
安装也很简单:在MITM交互劫持页面的交互插件,便能够找到我们的多认证综合越权测试插件。
实超效果
这里使用Vulinbox靶场中的逻辑场景进行插件测试。
首先注册两个用户,用户名分别为test1和test2,接着登录test1的账号,获取其cookie为
_cookie:11e0bdd7-c1e2-4fcd-82a6-7a341d5dc54ebr
接着将cookie配置进多认证综合越权测试插件,并启动插件:
接着在不退出test1的情况下,使用test2账号进行登录,从MITM流量中的插件是可以看到经过修改的数据包的。如下图,一共有两条数据,第一条为_cookie被移除了,做了一个未授权访问的检测,发现不存在未授权访问。而第二条的_cookie使用的是test1的,并且其返回包的内容与使用test2的_cookie一模一样,因此我们认为其存在水平越权漏洞,并且将该条报文设置成红色,以便其更加显眼。
原文始发于微信公众号(鹏组安全):三款适用于burp和yakit的好用的越权检测插件工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论