DVWA靶场Authorisation Bypass (未授权绕过) 漏洞通关教程及源码审计

Authorisation Bypass

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

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

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

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

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

low

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

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

解密md5值

切换成普通用户

可以看到少了刚才那一栏

访问刚才保留的路径

成功访问

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

代码审计

php 复制代码
<?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 复制代码
<?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 复制代码
<?php
/*
只有管理员用户被允许访问这个页面。
请查看以下文件以寻找可能的漏洞:
* vulnerabilities/authbypass/change_user_details.php
*/

if (dvwaCurrentUser() != "admin") {  // 检查当前用户是否不是管理员
	print "未经授权";               // 输出未授权提示
	http_response_code(403);        // 设置HTTP响应状态码为403(禁止访问)
	exit;                          // 结束脚本执行
}
?>

impossible

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

代码审计

只有admin才可以访问

php 复制代码
<?php
/*
只有管理员用户被允许访问这个页面
*/
if (dvwaCurrentUser() != "admin") {  // 如果当前用户不是管理员
	print "未经授权";                   // 输出"未经授权"提示
	http_response_code(403);            // 设置HTTP响应状态码为403(禁止访问)
	exit;                               // 结束脚本执行
}
?>
相关推荐
sec87535 分钟前
tryhackme - 导言
渗透测试·tryhackme·thk·redteam
Bruce_Liuxiaowei9 小时前
跨站脚本攻击(XSS)高级绕过技术与防御方案
前端·网络安全·xss
独行soc18 小时前
2025年渗透测试面试题总结-18(题目+回答)
android·python·科技·面试·职场和发展·渗透测试
人衣aoa21 小时前
PG靶机 - Pelican
web安全·网络安全·渗透测试·内网渗透
lingggggaaaa21 小时前
小迪安全v2023学习笔记(六十一讲)—— 持续更新中
笔记·学习·安全·web安全·网络安全·反序列化
运维行者_1 天前
使用Applications Manager进行 Apache Solr 监控
运维·网络·数据库·网络安全·云计算·apache·solr
挨踢攻城1 天前
IT资讯 | VMware ESXi高危漏洞影响国内服务器
安全·web安全·网络安全·vmware·虚拟化技术·厦门微思网络·vmware esxi高危漏洞
独行soc2 天前
2025年大模型安全岗的面试汇总(题目+回答)
android·人工智能·安全·面试·职场和发展·渗透测试
菜根Sec2 天前
Sqli-labs靶场搭建及报错处理
web安全·网络安全·渗透测试·sql注入·网络安全靶场
浩浩测试一下2 天前
02高级语言逻辑结构到汇编语言之逻辑结构转换 if (...) {...} else {...} 结构
汇编·数据结构·数据库·redis·安全·网络安全·缓存