Hetian lab Day 9 DVWA九:文件上传

25 篇文章 1 订阅
16 篇文章 0 订阅

预备知识

任意文件上传漏洞简介

由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件,并能够将这些文件传递给 PHP 解释器,就可以在远程服务器上执行任意PHP脚本。
在这里插入图片描述
客户端检测一般在源文件里有专门检测文件上传的javascript代码,最常见的就是检测扩展名是否合法。
在这里插入图片描述
这种检测很容易被绕过,但本质还是在客户端检测,不能相信客户端的检测,因为这是可控的,真正有效的检测要放在服务端。因为这种检测可以通过代理绕过。
解析攻击
主要是各web应用程序解析漏洞,直接解析或配合解析。
举例:Apache解析漏洞Test.php.XXX
建议在单独配置的环境下进行测试,集成环境也行,不过可能会受影响,我测试的在集成环境下解析不了单独环境下就可以,可能是我配置问题。

Nginx 解析漏洞
任意文件名/任意文件名.php | 任意文件名%00.php。
比如原本文件名是test.jpg,可以添加为test.jpg/x.php。

IIS解析漏洞

2003+IIS 6.0
在这里插入图片描述
此外还有服务端文件内容检测、文件扩展名检测和路径检测等

实验目的

通过该实验能够理解文件上传的原理并利用文件上传漏洞进行渗透。

实验环境

服务器:win2003+DVWA,IP地址:10.1.1.174
测试者:win7,IP地址随机

实验步骤

实验步骤一:low等级

low等级对用户上传的文件不做防护,直接上传即可。
在这里插入图片描述
关键代码:
在这里插入图片描述

实验步骤二:medium等级

medium设定了一个过滤规则,规则如下:

if (($upload_type == "image/jpeg")&&($upload_size<1000)){
	if (!move_upload_file($_FILES['upload']['tmp_name'],$target_path)){
		echo '<pre>';
		echo 'your image was not upload.';
		echo '</pre>';
	}else{
		eho '<pre>';
		echo $target_path.'succefully uploaded!';
		echo '</pre>';
	}
	else{
		echo '<pre>your image was not uploaded.</pre>';
	}
}

我们新建一个txt文件更改后缀为.jpg然后上传,同时抓包:修改Content-Disposition后面文件后缀为php,然后转发即可。
在这里插入图片描述
可以看到文件上传成功。
在这里插入图片描述
文件上传成功,关闭代理之后可以查看文件:

http://10.1.1.174/hackable/uploads/test.php

嗯,一看就是刚刚在桌面上揪的一个密码字典。
在这里插入图片描述

分析与思考

1)总结文件上传的防护和绕过方法。
见正文。
2)对比几种绕过方法有什么相同有什么不同?
略。

课后习题

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值