Authorisation Bypass

授权绕过(Authorisation Bypass)是一种严重的安全,通过利用系统的或错误配置,绕过正常的访问控制机制,获得未经授权的访问权限。这种可能导致敏感信息泄露、数据篡改、系统破坏等严重后果

以下是一些常见的授权绕过场景:

  1. 未验证的直接对象引用:系统没有对用户进行权限检查就直接访问对象。例如,通过猜测URL参数来访问其他用户的文件或数据。
  2. 功能级访问控制:系统没有妥善限制用户对某些特定管理功能或数据的访问,导致攻击者能够执行超出其权限的操作。
  3. 垂直权限提升:低权限用户可以通过漏洞取得高权限用户才拥有的权限,如管理员功能。
  4. 水平权限提升:一个用户访问或修改同一权限级别的其他用户的数据,如查看他人的订单信息。
  5. 不安全的角色验证:系统对角色身份验证存在缺陷,允许攻击者冒充其他角色。

预防和修复授权绕过漏洞需要全面实施和审核权限控制机制,包括:

  • 定义和实现基于角色的访问控制。
  • 确保每个请求都经过严格的身份验证和授权检查。
  • 定期进行安全审核和渗透测试以发现潜在漏洞。

low

先使用管理员登录,然后记住下面的数据库以及路径 vulnerabilities/authbypass

打开数据库,进入user表,可以看到密码都是进行MD5加密的

解密md5值

切换成普通用户

可以看到少了刚才那一栏

访问刚才保留的路径

成功访问

并且在网络响应里回显了数据库信息

代码审计

<?php
/* Nothing to see here for this vulnerability, have a look
instead at the dvwaHtmlEcho function in: * dvwa/includes/dvwaPage.inc.php # 具体内容在下面这个函数里
*/
?>

medium

访问刚才的路径,发现被拦截了

想到刚才网络资源里泄露的信息,访问vulnerabilities/authbypass/get_user_data.php

成功获取数据库信息

代码审计

首先检查用户是否是管理员才可以执行,然后利用下面两个函数进行限制

<?php
/*
只有管理员用户被允许访问这个页面。
请查看以下两个文件以寻找可能的漏洞:
* vulnerabilities/authbypass/get_user_data.php
* vulnerabilities/authbypass/change_user_details.php
*/ if (dvwaCurrentUser() != "admin") { // 检查当前用户是否不是管理员
print "未经授权"; // 输出未授权提示
http_response_code(403); // 设置HTTP响应状态码为403(禁止访问)
exit; // 结束脚本执行
}
?>

high

方法和上面的差不多,不同的是需要抓包修改POST请求

修改成功

代码审计

和medium级别没什么区别,不同点在于函数

<?php
/*
只有管理员用户被允许访问这个页面。
请查看以下文件以寻找可能的漏洞:
* vulnerabilities/authbypass/change_user_details.php
*/ if (dvwaCurrentUser() != "admin") { // 检查当前用户是否不是管理员
print "未经授权"; // 输出未授权提示
http_response_code(403); // 设置HTTP响应状态码为403(禁止访问)
exit; // 结束脚本执行
}
?>

impossible

没有绝对安全的防护,但是一定要做好安全防护措施

代码审计

只有admin才可以访问

<?php
/*
只有管理员用户被允许访问这个页面
*/
if (dvwaCurrentUser() != "admin") { // 如果当前用户不是管理员
print "未经授权"; // 输出“未经授权”提示
http_response_code(403); // 设置HTTP响应状态码为403(禁止访问)
exit; // 结束脚本执行
}
?>

DVWA靶场Authorisation Bypass (未授权绕过) 漏洞通关教程及源码审计的更多相关文章

  1. 浅谈Redis未授权访问漏洞

    Redis未授权访问漏洞 Redis是一种key-value键值对的非关系型数据库 默认情况下绑定在127.0.0.1:6379,在没有进行采用相关的策略,如添加防火墙规则避免其他非信任来源ip访问等 ...

  2. 未授权访问漏洞之Redis漏洞复现

    前言 未授权访问漏洞简写是SSRF(Server-Side Request Forgery:服务器端请求伪造),是一种服务器端提供了可以从其他服务器获取资源和数据的功能,但没有对目标地址进行过滤和限制 ...

  3. mongodb未授权访问漏洞

    catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...

  4. [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上

    一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...

  5. WordPress Backdoor未授权访问漏洞和信息泄露漏洞

    漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...

  6. Redis未授权访问漏洞的利用及防护

    Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...

  7. Redis 未授权访问漏洞(附Python脚本)

    0x01 环境搭建 #下载并安装 cd /tmp wget http://download.redis.io/releases/redis-2.8.17.tar.gz tar xzf redis-.t ...

  8. Rsync未授权访问漏洞的利用和防御

    首先Rsync未授权访问利用 该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell. 我们具体来看配置文件的网相关选项(/etc/r ...

  9. docker搭建redis未授权访问漏洞环境

    这是redis未授权访问漏洞环境,可以使用该环境练习重置/etc/passwd文件从而重置root密码 环境我已经搭好放在了docker hub 可以使用命令docker search ju5ton1 ...

  10. redis未授权访问漏洞那拿SHELL

    一.什么是redis未授权访问漏洞: 1.redis是一种文档型数据库,快速高效,存储在内存中,定期才会写磁盘.主要用于快速缓存,数据转存处理等.默认redis开在6379端口,可以直接访问.并不需要 ...

随机推荐

  1. Kriging 模型 —— 克里金法 —— 最优插值

  2. Go语言:未指定类型的常量(untyped int constant)和大整数的关系

    运行下面的代码: 点击查看代码 package main import "fmt" const ( Big = 1 << 100 ) func needFloat(x ...

  3. IWeb4j 项目解决web自动化回归测试痛点!

    IWeb4j 项目思想 IWeb项目的测试用例使用数据驱动测试,当下数据驱动使用最多的无非是excel.yaml.json.数据库(后续通过SpringDataJPA实现数据库驱动)作为数据驱动的载体 ...

  4. 干货分享:Air780E开发板如何使用?

    ​ 一.概述 CORE-AIR780E 开发板是合宙通信推出的基于 Air780E 模组所开发的,包含电源,SIM 卡,USB,天线,音频等必要功能的最小硬件系统.以方便用户在设计前期对 Air780 ...

  5. tsconfig配置详解

    { "compilerOptions": { /* Basic Options */ "target": "es5" /* target用于 ...

  6. Mobexterm 串口换行错误

    问题描述 使用 Mobexterm 连接串口时,在回显中存在换行错误问题,严重影响阅读串口数据. 解决方法 在左侧操作窗口中右击发生 换行错误问题 的窗口,比如我需要右击 COM9 右击后,在下拉列表 ...

  7. Converter Tutorial

    Setting up a simple example This is the most basic converter... let's start with a simple Person: pa ...

  8. python之常用开发包

    1.passlib (https://passlib.readthedocs.io/en/stable/) passlib 目前常见的不可逆加密算法有以下几种: 一次MD5(使用率很高) 将密码与一个 ...

  9. LonEle 操作的 SQL Server 数据库(msde2000)由 20180418 版更新至 20190328 版(非官方)

    Shanghai Mitsubishi Elevator Co., Ltd(上海三菱电梯有限公司) 的 Comprehensive Elevator Monitoring System (电梯综合监控 ...

  10. K8S钩子、探针以及控制器完整版

    一. 生命周期钩子 Kubernetes 中的 生命周期钩子(Lifecycle Hooks) 是在容器生命周期的特定阶段执行操作的机制.通过钩子,可以在容器启动后(PostStart)或停止前(Pr ...