DVWA靶场Authorisation Bypass (未授权绕过) 漏洞通关教程及源码审计
Authorisation Bypass
授权绕过(Authorisation Bypass)是一种严重的安全,通过利用系统的或错误配置,绕过正常的访问控制机制,获得未经授权的访问权限。这种可能导致敏感信息泄露、数据篡改、系统破坏等严重后果
以下是一些常见的授权绕过场景:
- 未验证的直接对象引用:系统没有对用户进行权限检查就直接访问对象。例如,通过猜测URL参数来访问其他用户的文件或数据。
- 功能级访问控制:系统没有妥善限制用户对某些特定管理功能或数据的访问,导致攻击者能够执行超出其权限的操作。
- 垂直权限提升:低权限用户可以通过漏洞取得高权限用户才拥有的权限,如管理员功能。
- 水平权限提升:一个用户访问或修改同一权限级别的其他用户的数据,如查看他人的订单信息。
- 不安全的角色验证:系统对角色身份验证存在缺陷,允许攻击者冒充其他角色。
预防和修复授权绕过漏洞需要全面实施和审核权限控制机制,包括:
- 定义和实现基于角色的访问控制。
- 确保每个请求都经过严格的身份验证和授权检查。
- 定期进行安全审核和渗透测试以发现潜在漏洞。
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 (未授权绕过) 漏洞通关教程及源码审计的更多相关文章
- 浅谈Redis未授权访问漏洞
Redis未授权访问漏洞 Redis是一种key-value键值对的非关系型数据库 默认情况下绑定在127.0.0.1:6379,在没有进行采用相关的策略,如添加防火墙规则避免其他非信任来源ip访问等 ...
- 未授权访问漏洞之Redis漏洞复现
前言 未授权访问漏洞简写是SSRF(Server-Side Request Forgery:服务器端请求伪造),是一种服务器端提供了可以从其他服务器获取资源和数据的功能,但没有对目标地址进行过滤和限制 ...
- mongodb未授权访问漏洞
catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...
- [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上
一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...
- WordPress Backdoor未授权访问漏洞和信息泄露漏洞
漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...
- Redis未授权访问漏洞的利用及防护
Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...
- Redis 未授权访问漏洞(附Python脚本)
0x01 环境搭建 #下载并安装 cd /tmp wget http://download.redis.io/releases/redis-2.8.17.tar.gz tar xzf redis-.t ...
- Rsync未授权访问漏洞的利用和防御
首先Rsync未授权访问利用 该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell. 我们具体来看配置文件的网相关选项(/etc/r ...
- docker搭建redis未授权访问漏洞环境
这是redis未授权访问漏洞环境,可以使用该环境练习重置/etc/passwd文件从而重置root密码 环境我已经搭好放在了docker hub 可以使用命令docker search ju5ton1 ...
- redis未授权访问漏洞那拿SHELL
一.什么是redis未授权访问漏洞: 1.redis是一种文档型数据库,快速高效,存储在内存中,定期才会写磁盘.主要用于快速缓存,数据转存处理等.默认redis开在6379端口,可以直接访问.并不需要 ...
随机推荐
- 机器学习框架推理流程简述(以一项部署在windows上的MNN框架大模型部署过程为例子)
一.写在前面 公司正好有这个需求,故我这边简单接受进行模型的部署和demo程序的编写,顺便学习了解整个大模型的部署全流程.这篇博客会简单提到大模型部署的全流程,侧重点在推理这里.并且这篇博客也是结合之 ...
- 基于Java+SpringBoot心理测评心理测试系统功能实现四
一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...
- 如何使用Flask编写一个网站
使用Flask编写一个网站是一个相对简单且有趣的过程.Flask是一个用Python编写的轻量级Web应用框架.它易于上手,同时也非常强大,适合构建从简单的博客到复杂的Web应用的各种项目.以下是一个 ...
- WebUI自动化框架-playwright
(持续更新) 一.环境准备 安装playwright:playwright是基于python3.7开发的第三方包,所以需要使用的python版本是3.7及其以上的 pip install playwr ...
- java三次大作业的全面总结
一:前言 知识点总结: 数据结构:题目涉及到了字典或哈希表用于存储题目信息.试卷信息和学生信息:列表用于存储多个题目.试卷和学生的集合:对象用于封装题目.试卷.学生和答案的具体属性. 字符串解析:题目 ...
- Linux中的文件属性和 文件类型
文件类型及属性 文件属性 每列的含义 [root@oldboyedu ~]# ll -i 33575029 -rw-r--r--. 1 root root 337 Nov 2 10:26 ho ...
- JVM调优总结:典型配置举例
原文出处:http://developer.51cto.com/art/201201/311739.htm 一篇非常棒的关于JVM性能调优的文章,转载用于自己经常查阅 以下配置主要针对分代垃圾回收算法 ...
- Dockerfile&Docker-Compose之基础
使用了很久的docker,之前却从来没有总结过, 于是开此篇来记录平常使用Dockerfile和docker-compose.yaml的点滴, 先从基础命令开始哦 [Dockerfile] Docke ...
- AtCoder Beginner Contest 152
Flatten 给定\(n\)个正整数\(a_i\),,现在让你求出\(n\)个整数\(b_i\),使得任取\(1\le i < j \le n\),\(a_ib_i=a_jb_j\)始终成立, ...
- web移动端屏幕适配方案
因为手机屏幕的分辨率大小不一 ,如果使用传统的静态布局,把每个元素的宽高样式写死,在不同的屏幕中就有各种各样的显示效果.这显然不是我们想要的结果.我们需要的是根据屏幕分辨率的不同,来适配不同的样式大小 ...