DVWA靶场File Upload(文件上传) 漏洞所有级别通关教程及源码审计

文件上传

文件上传漏洞是由于对上传文件的内、类型没有做严格的过滤、检查,使得攻击者可以通过上传木马文件获取服务器的webshell文件

本人公众号泷羽Sec-track,感兴趣的师傅可以看看

low

上传一个php文件,上传成功,并且可以在WWW\DVWA\hackable\uploads目录下找到该文件

此难度没有做任何过滤,所有文件都可以上传

源码审计

没有做任何过滤,很危险的行为

<?php

if( isset( $_POST[ 'Upload' ] ) ) {
   
    // 检查表单是否提交了"Upload"按钮
	// 定义目标上传路径
	$target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/"; // 设置目标路径为一个固定目录
	$target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] ); // 将上传文件的基础名称附加到目标路径

	// 尝试将文件移动到上传文件夹
	if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
   
    // 如果移动失败
		// 上传失败,显示错误信息
		$html .= '<pre>Your image was not uploaded.</pre>'; // 提示用户图像未上传
	}
	else {
   
    // 如果成功
		// 上传成功
		$html .= "<pre>{
     
     $target_path} successfully uploaded!</pre>"; // 提示用户图像成功上传,并显示路径
	}
}
?>

medium

先上传一个php文件

只允许上传jpg/png图片,那么就上传这两种图片

上传成功

源码审计

只允许上传文件类型jpg/png内容,以及文件大小小于10000字节,过滤并不严谨

<?php

if( isset( $_POST[ 'Upload' ] ) ) {
   
    // 检查表单是否提交了"Upload"按钮
	// 定义目标上传路径
	$target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/"; // 设置目标路径为一个固定目录
	$target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] ); // 将上传文件的基础名称附加到目标路径

	// 文件信息
	$uploaded_name = $_FILES[ 'uploaded' ][ 'name' ]; // 获取上传文件的名称
	$uploaded_type = $_FILES[ 'uploaded' ][ 'type' ]; // 获取上传文件的类型
	$uploaded_size = $_F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值