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 提交一个更新请求

请求成功!! 

刷新看到已经更改成功

四、结论

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在寻找电子名片在线制作免费生成?5个软件帮助你快速制作电子名片

在寻找电子名片在线制作免费生成?5个软件帮助你快速制作电子名片 当你需要快速制作电子名片时,有几款免费在线工具可以帮助你实现这个目标。这些工具提供了丰富的设计模板和元素,让你可以轻松地创建个性化、专业水平的电子名片。 1.一键logo…

个人知识库(python/AI/机器学习/数据分析/神经网络/机器视觉/共享文档)

个人工作学习中总结的知识技巧,欢迎大家阅读学习,地址:语雀阅读地址 后期也会把资源在csdn上公布出来,方便同行借鉴.

神经网络学习5-非线性激活

非线性激活,即 这是最常用的 inplaceTrue 原位操作 改变变量本身的值,就是是否输入时若原本有值,是否更换 该函数就是表示:输入小于零时输出0,大于零时保持不变 代码如下: import torch from torch imp…

Databend 开源周报第 149 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 支持递归公共表…

(项目实战)RocketMQ5.0延迟消息在聚合支付系统中的应用

1 基于业务场景掌握RocketMQ5.0 本篇文章主要结合聚合支付系统中的业务场景来落地RocketMQ中间件的应用,聚合支付系统主要在支付系统超时订单和商户支付结果异步通知场景中会使用到RocketMQ消息中间件。本文使用到了RocketMQ中的延迟消息知识点,RocketM…

数据库精选题(一)(关系数据库设计)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀数据库 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 练习题 题型一:判断关系…

百度地图使用任意图片旋转任意角度作为地面贴图

公司项目有个需求是要在地图上贴个航拍的照片做出类似卫星地图的效果,但是只有一张图片而且可以随时替换,也不好做瓦片地图,而且照片的角度可以任意旋转。 要实现这个功能需要解决以下问题: 百度地图怎么贴图片图片角度如何旋转 不卖关子,我先放出实现的效果,为了不涉及侵…

期末考后怎样发成绩?

老师们,下周可就是期末考啦,又到了头疼发成绩的时候了。每当这个时候,家长们总是急切地咨询孩子的考试表现,向老师们询问成绩。这种场景几乎成了每学期结束时的常态。 别担心,我来安利一个超棒的工具——“易查分小程序…

一键制作,打造高质量的数字刊物

随着数字化时代的到来,数字刊物已经成为信息传播的重要载体。它以便捷、环保、互动性强等特点,受到了越来越多人的青睐。然而,如何快速、高效地制作出高质量的数字刊物,成为许多创作者面临的难题。今天,教大家一个制作…

Codepen Three.js环境依赖配置

Codepen Three.js环境依赖配置 前言 如果想在CodePen环境写Three.js依赖的项目,环境搭建可以参考该Codepen项目: Chill the lion 详细 打开设置可以看到以下配置 更多项目参考 1. Chill the Lion Chill the Lion 是一个基于 ThreeJS 制作的 WebGL 示例。它由…

使用MyBatis的动态SQL注解实现实体的CRUD操作

使用MyBatis的动态SQL注解实现实体的CRUD操作 1. 引言2. 准备工作2.1 创建数据表2.2 创建实体类 Book2.3 修改Mapper接口 BookMapper 3. 测试CRUD操作3.1 配置日志3.2 查询操作3.3 新增操作3.4 修改操作3.5 删除操作 4. 与MyBatis Plus的对比5. 动态SQL注解的适用场景5.1 动态查…

API低代码平台介绍6-数据库记录删除功能

数据库记录删除功能 在前续文章中我们介绍了如何插入和修改数据库记录,本篇文章会沿用之前的测试数据,介绍如何使用ADI平台定义一个删除目标数据库记录的接口,包括 单主键单表删除、复合主键单表删除、多表删除(整合前两者&#x…

JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)

用 js 描述树 let tree [{label:a,children:[{label:b,children:[{label:d},{label:e}]},{label:c,children:[{label:f}]}]} ]使用数组是因为树的节点有顺序 深度优先遍历 从根节点出发,优先遍历最深的节点 遍历顺序为 abdecf function DFS(tree) {tree.forEach(…

揭示SOCKS5代理服务器列表的重要性

在复杂的网络安全领域中,SOCKS5代理在保护在线活动方面发挥着关键作用。本文深入探讨了SOCKS5代理服务器列表的细节,探讨了它们的应用、优势以及在增强在线安全和隐私方面不可或缺的功能。 一、理解SOCKS5代理服务器列表 作为在客户端和服务器之间进行通…

QListWidget、QMenu、Action、customContextMenuRequested

QListWidget的初始化、清空、Append添加、Insert添加、删除item QListWidget的事件的使用 QToolBox的使用,每个Page可以添加其他控件 QToolBar使用代码添加QMenu,QMenu添加3个Action QToolButton绑定Action 布局 其中 QSplitter比较特殊, 允许在水平或垂…

实现锚点链接点击tab跳转到指定位置 并且滚动鼠标顶部锚点的样式也跟随变化

实现效果如下 不管是点击还是 滚动鼠标 顶部的样式也会跟随变化 点击会跳转到指定的位置 通过IntersectionObserver 监听是否可见 下面代码可以直接执行到vue的文件 <template><div><ul class"nav"><li v-for"tab in tabs" :key…

Nvidia Isaac Sim组装机器人和添加传感器 入门教程 2024(5)

Nvidia Isaac Sim 入门教程 2024 版权信息 Copyright 2023-2024 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. …

采购管理系统:反向竞价失败的 6 个常见原因

在当今快节奏和竞争激烈的商业环境中&#xff0c;采购专业人员一直在寻找创新战略来节约成本和简化供应链流程。反向竞价就是其中一种广受欢迎的策略。 反向竞价提供了一种独特的采购方法&#xff0c;允许买家邀请多个供应商参与实时竞标&#xff0c;以争取他们的业务。虽然反…

构建个人文件上传服务:Python Flask实现上传和下载完整指南

介绍 在本教程中&#xff0c;我们将学习如何使用Python Flask框架将文件上传到服务器&#xff0c;并使用SQLite数据库来跟踪上传的文件。我们将提供后端代码和一个示例项目的Git链接&#xff0c;以便您可以轻松地跟随本教程。 准备工作 首先&#xff0c;您需要安装Python和F…

太爱这种数据可视化效果,零售行业的都看过来

在当今数字化浪潮下&#xff0c;数据可视化已成为零售行业洞察市场趋势、优化运营决策的关键技术。奥威BI零售数据分析方案凭借其卓越的数据可视化效果&#xff0c;成为零售企业的得力助手。接下来就通过BI节假日分析报表来简单地感受一下。 注&#xff1a;该BI节假日分析报表…