文件上传--DVWA

一、概述

二、实战

LOW等级

首先上传一张图片test.jpg,如图所示成功上传

访问网址成功看到刚才上传的图片:

正常操作到此结束,接下来尝试上传恶意文件:phpinfo.php(该函数显示PHP的配置相关信息)

如下图所示,成功上传:

尝试访问,成功执行证明了漏洞的存在:

接下来上传一句话webshell  cmd.php(该webshell可以执行用户传入的cmd参数的值),成功上传,并且尝试执行,如下图所示成功执行

 

接下来用php中的System函数调用cmd中的命令,查看系统命令dir,如下图所示成功显示当前目录的物理路径

利用前面的得到的物理路径访问phpstudy目录下的php.ini,成功执行

 

Medium等级

直接上传写好的phpinfo.php,提示不允许上传,只允许上传JPEG和PNG格式的文件

这里首先想到抓包研究,将正常上传的包与上传失败的包进行对比,如下图所示

对比以上三处不同,对数据包不断地进行修改重发,通过不断地尝试,发现是文件类型这里被限制了。上传php文件,通过抓包修改文件类型为image/jpeg,便可成功上传,如下图所示

High等级:

直接上传同样无法上传,使用Medium等级抓包上传的方法同样无法上传,同样将成功和失败的数据包进行对比,通过不断尝试确定限制了文件后缀和文件内容:

这里用图片马进行绕过,成功上传

在这里文件上传漏洞需要与文件包含漏洞相结合进行利用,便可成功执行刚刚上传图片马

这里文件上传漏洞也可以与解析漏洞相结合,以Nginx为例:

漏洞修复

1、阻止非法文件上传:

文件后缀名白名单、文件类型校验、文件内容头部判断

2、阻止非法文件执行:

文件重命名(防止http服务器如IIS进行解析}

文件压缩重生成(防止了图片马的执行)

存储目录执行权限限制

存储目录与web分离

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值