DVWA 靶场 Authorisation Bypass 通关解析

前言

DVWA代表Damn Vulnerable Web Application,是一个用于学习和练习Web应用程序漏洞的开源漏洞应用程序。它被设计成一个易于安装和配置的漏洞应用程序,旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序漏洞。

DVWA提供了一系列的漏洞场景和练习环境,用户可以通过攻击这些漏洞场景来学习和实践漏洞利用技术。这些漏洞包括常见的安全问题,如SQL注入、跨站脚本攻击(XSS)、文件包含漏洞等。通过攻击这些漏洞,用户可以了解漏洞的原理、影响和防御方法。

DVWA提供了不同的安全级别,从低到高,以满足不同技能水平的用户需求。用户可以根据自己的能力选择适当的安全级别,并进行相应的练习和挑战。

DVWA还提供了一些额外的功能和工具,如Web代理、密码破解、弱密码检测等,以帮助用户更好地理解和处理漏洞问题。

总之,DVWA是一个用于学习和练习Web应用程序漏洞的开源应用程序。它提供了一系列的漏洞场景和练习环境,帮助安全专业人员和爱好者提高对Web应用程序安全的理解和实践能力。通过使用DVWA,用户可以加深对Web应用程序漏洞的认识,并学习如何有效地保护Web应用程序免受攻击。

介绍

授权绕过(Authorisation Bypass)是一种严重的安全漏洞,攻击者通过利用系统的漏洞或错误配置,绕过正常的访问控制机制,获得未经授权的访问权限。这种漏洞可能导致敏感信息泄露、数据篡改、系统破坏等严重后果。以下是对授权绕过的详细介绍,包括其原理、常见类型、攻击手法、防御措施以及实例分析。

一、授权绕过原理

授权是指系统在确定用户身份后,根据用户的权限授予相应的资源访问权。授权绕过发生在系统错误地允许未经授权的用户访问受保护的资源时。常见原因包括:

  • 错误的访问控制逻辑:开发人员在实现访问控制时存在漏洞或错误。
  • 配置错误:系统或应用配置不当,导致访问控制失效。
  • 缺乏验证:在某些请求中缺乏必要的权限验证。

二、常见类型和攻击手法

  1. 直接对象引用(Direct Object Reference)

    • 攻击者通过直接引用内部对象(如文件、数据库记录等),绕过授权检查访问未授权的资源。
    • 例如,通过修改 URL 参数 http://example.com/user/profile?id=2,攻击者尝试访问其他用户的个人资料。
  2. 水平权限提升(Horizontal Privilege Escalation)

    • 普通用户利用漏洞访问其他普通用户的数据或功能。
    • 例如,用户 A 通过修改请求中的用户 ID 访问用户 B 的账户信息。
  3. 垂直权限提升(Vertical Privilege Escalation)

    • 低权限用户利用漏洞提升权限,访问管理员级别的功能或数据。
    • 例如,普通用户通过篡改请求参数或利用应用漏洞获得管理员权限。
  4. 功能层级控制不当

    • 某些功能对用户的权限控制不严密,导致低权限用户可以访问高权限功能。
    • 例如,隐藏但未禁用的管理功能页面通过直接访问 URL 获得。
  5. 访问控制未能覆盖所有路径

    • 系统未对所有访问路径进行权限检查,攻击者利用未受保护的路径访问资源。
    • 例如,API 端点缺乏必要的权限验证。

三、防御措施

  1. 严格的访问控制检查

    • 对所有请求进行严格的权限验证,确保每个请求都经过权限检查。
    • 使用统一的访问控制机制,避免遗漏。
  2. 最小权限原则(Principle of Least Privilege)

    • 只授予用户完成任务所需的最低权限,避免过度授权。
  3. 参数验证和加密

    • 对 URL 参数和请求参数进行严格验证,防止篡改。
    • 使用加密或哈希技术保护敏感参数。
  4. 安全编码实践

    • 遵循安全编码实践,避免常见漏洞。
    • 定期进行代码审查和安全测试。
  5. 日志和监控

    • 记录和监控所有访问请求,及时发现和响应异常访问行为。
  6. 定期安全测试

    • 进行渗透测试和安全评估,发现并修复潜在的授权绕过漏洞。

一、Low

先以管理员身份访问这一关的靶场

以管理员身份的话可以操作账户,请记住以下路径

现在切换到普通的用户例如 gordonb/abc123

明显发现导航栏缺少了这一栏

现在开始绕过,在 URL 路径中访问这个目录

/authbypass/

成功绕过!!! 

二、Medium

还是一样,直接访问这个路径,虽然访问不了

查看之前 Low 的网络资源,发现数据存在一个 PHP 文件当中

直接访问这个文件,成功绕过!! 

/authbypass/get_user_data.php

三、High

使用上一关的方法不行

锁定了这个文件,但是还有一个更新功能,或许咱们可以使用 POST 提交一个更新请求

请求成功!! 

刷新看到已经更改成功

四、结论

授权绕过是一种严重的安全漏洞,攻击者利用系统漏洞或配置错误绕过正常的访问控制机制,获得未授权的访问权限。通过严格的访问控制检查、最小权限原则、参数验证和加密、安全编码实践、日志和监控以及定期安全测试,可以有效防御授权绕过攻击,保护系统和用户的安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/731702.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java宝藏实验资源库(8)多态、抽象类和接口

一、实验目的 理解面向对象程序的基本概念。掌握类的继承和多态的实现机制。熟悉抽象类和接口的用法。 二、实验内容、过程及结果 **1.Using the classes defined in Listing 13.1, 13.2, 13.3, write a test program that creates an array of some Circle and Rectangle in…

docker换源

文章目录 前言1. 查找可用的镜像源2. 配置 Docker 镜像源3. 重启 Docker 服务4. 查看dock info是否修改成功5. 验证镜像源是否更换成功注意事项 前言 在pull镜像时遇到如下报错: ┌──(root㉿kali)-[/home/longl] └─# docker pull hello-world Using default …

IPv6 address status lifetime

IPv6 地址状态转换 Address lifetime (地址生存期) 每个配置的 IPv6 单播地址都有一个生存期设置,该设置确定该地址在必须刷新或替换之前可以使用多长时间。某些地址设置为“永久”并且不会过期。“首选”和“有效”生存期用于指定其使用期限和可用性。 自动配置的…

基于WPF技术的换热站智能监控系统16--动态数据绑定

1、实现思路 1)实时读取到的数据绑定到前台UI控件上,这个通过MVVM模式实现,同时注意实时读取必须通过任务task异步方式,这就需要读取PLC数据。 2)UI控件的动作,如开或关水泵,必定能够将值写入…

常见的Wi-Fi蓝牙模组

在嵌入式领域,常见的Wi-Fi蓝牙模组确实包括多个知名品牌,如乐鑫、安信可和移远等,以前可能你听的最多的是ESP8266,不过今天讨论的是Wi-Fi蓝牙模组,而8266本身并不内置蓝牙功能,不在介绍范围。而拿到模块之后…

graalvm jdk和openjdk

下载地址:https://github.com/graalvm/graalvm-ce-builds/releases 官网: https://www.graalvm.org

设计模式4-模版方法

设计模式 重构获得模式重构的关键技法1. 静态转动态2. 早绑定转晚绑定3. 继承转组合4. 编译时依赖转运行时依赖5. 紧耦合转松耦合 组件协助动机模式定义结构 要点总结。 例子示例解释: 重构获得模式 设计模式的目的是应对变化,提高复用 设计模式的要点…

数据通信与网络(五)

交换机功能: 地址学习(端口/MAC地址映射表) 通信过滤(基于端口/MAC地址映射表) 生成树协议(断开环路) 隔离冲突域 生成树协议 隔离冲突域 交换机配置模式(用不同级别的命令对交换机进行配置) 普…

Zookeeper原理

Zookeeper监听原理 监听原理详解 (1)首先要有一个main()线程 (2)在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet),一个负责监听(listener) 。 &#xf…

PHP转Go系列 | ThinkPHP与Gin的使用姿势

大家好,我是码农先森。 安装 使用 composer 进行项目的创建。 composer create-project topthink/think thinkphp_demo使用 go mod 初始化项目。 go mod init gin_demo目录 thinkphp_demo 项目目录结构。 thinkphp_demo ├── LICENSE.txt ├── README.md …

【STM32】时钟树系统

1.时钟树简介 1.1五个时钟源 LSI是低速内部时钟,RC振荡器,频率为32kHz左右。供独立看门狗和自动唤醒单元使用。 LSE是低速外部时钟,接频率为32.768kHz的石英晶体。这个主要是RTC的时钟源。 HSE是高速外部时钟,可接石英*/陶瓷谐振…

Ubuntu 22.04安装 docker

安装过程和指令 # 1.升级 apt sudo apt update # 2.安装docker sudo apt install docker.io docker-compose # 3.将当前用户加入 docker组 sudo usermod -aG docker ${USER} # 4. 重启 # 5. 查看镜像 docker ps -a 或者 docker images # 6. 下载镜像 docker pull hello-world …

动态创建接口地址

和SpringBoot版本有关系 这里用的boot 2.2.2

嵌入式学习——数据结构(队列)——day49

1. 队列 1. 先进先出 2. 缓冲区——先进先出的队列 高速设备和低速设备利用缓冲区进行协调匹配 3. 串口数据的通信利用队列进行协调 4. 顺序队列——循环队列(非重点) 5. 链式队列 5.1 创建队列 5.2 入队 5.3 出队 5.4 清空队列 5.5 销毁指针 6.…

[FlareOn5]Ultimate Minesweeper

一切题目,可以运行的,首先就要自己运行一次 运行完毕你会发现这是个扫雷游戏 net dnspy打开 一般没有特别的 我们都是点这花括号 这有个getkey 一眼加加密 然后可以三个方向:动调,改文件,静态找数据写加密脚本 简…

Web渗透:XSS-DOM-based XSS

DOM-based XSS(基于DOM的跨站脚本攻击)是一种XSS攻击类型,其特点是恶意脚本通过操作文档对象模型(DOM)直接在客户端执行,而无需经过服务器的处理。这种攻击主要利用客户端JavaScript代码中的漏洞&#xff0…

C++入门超详细解释

C入门 文章目录 C入门框架命名空间 namespace &#xff08;不常用&#xff09;命名空间的使用方式&#xff08;三种&#xff09;using namespace std;\<iostream>coutendlcincout的使用命名冲突缺省参数&#xff08;省钱的省&#xff09;缺省参数分类全缺省参数半缺省参数…

使用阿里开源的Spring Cloud Alibaba AI开发第一个大模型应用

背景 前段时间看到Spring推出了SpringAI&#xff0c;可以方便快速的接入ChatGPT等国外的大模型&#xff0c;现在阿里巴巴也紧追脚步推出了Spring Cloud Alibaba AI&#xff0c;Spring Cloud Alibaba AI 目前基于 Spring AI 0.8.1 版本 API 完成通义系列大模型的接入。通义接入…

Golang | Leetcode Golang题解之第172题阶乘后的零

题目&#xff1a; 题解&#xff1a; func trailingZeroes(n int) (ans int) {for n > 0 {n / 5ans n}return }

Linux系统开机自启动脚本(案例:Raspberry Pi 4B脚本)

前言&#xff1a;本篇博客为手把手教学的 Linux 系统开机自启动脚本教程&#xff0c;且额外包含有 Raspberry Pi 4B 的开机自启动案例。日常工程项目中往往需要 Linux 系统能够自启动一些代码程序&#xff0c;本篇博客利用虚拟机下的 Ubuntu 自启动脚本来进行教学&#xff0c;且…