DVWA靶场Authorisation Bypass (未授权绕过) 漏洞通关教程及源码审计
1.DVWA靶场搭建及错误解决教程2.DVWA靶场Brute Force (暴力破解) 漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程及代码审计3.DVWA靶场Command Injection(命令注入) 漏洞所有级别通关教程及源码审计4.DVWA靶场File Inclusion (文件包含) 漏洞所有级别通关教程及源码解析5.DVWA靶场File Upload(文件上传) 漏洞所有级别通关教程及源码审计6.DVWA靶场Weak Session IDs(弱会话) 漏洞所有级别通关教程及源码审计7.DVWA靶场Insecure CAPTCHA(不安全验证)漏洞所有级别通关教程及源码审计8.DVWA靶场Open HTTP Redirect (重定向) 漏洞所有级别通关教程及源码审计9.DVWA靶场JavaScript Attacks漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程10.DVWA靶场CSP Bypass (漏洞绕过) 漏洞通关及源码审计
11.DVWA靶场Authorisation Bypass (未授权绕过) 漏洞通关教程及源码审计
12.DVWA靶场XSS漏洞通关教程及源码审计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; // 结束脚本执行
}
?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)