DVWA靶场文件上传通关

LOW

一、直接输入含木马连接的文件测试

  1. 直接上传文件后,发现可以直接上传
  2. 将提示的路径粘贴到URL后,页面空白,没有报错,那就是操作成功了
  3. 在使用蚁剑连接

在这里插入图片描述

  • 这里成功连接了
二、代码审计

在这里插入图片描述

  1. 后端直接将用户上传的文件存储
  2. 没有对文件类型判断
  3. 没有对内容校验
  4. 直接使用了初始名命名
三、后端服务器没有做任何防护操作,存在文件上传漏洞

删除上传的文件防止对后需操作造成影响

Medium

一、直接上传返现提示有过滤

在这里插入图片描述

  1. 判读是使用白名单过滤的
  2. 使用抓包工具查看情况

在这里插入图片描述

  1. 这里先想到的是这里的Content-Type字段中的内容

  2. 推测后端会判端请求包中的字段,这里直接修改为image/jpeg尝试

    在这里插入图片描述

    • 点击放行,发现成功上传,显示了路径

在这里插入图片描述

  1. 在使用蚁剑连接测试

在这里插入图片描述

  1. 连接成功
二、代码审计

在这里插入图片描述

  1. 可以看出这里先获取了文件名,大小,MIME字段的内容,
  2. 只有对MIME字段的类型判断文件的合法性
  3. 这里判断了文件大小没什么作用
三、后端主要通过MIME字段中的信息来判断上传文件的类型的合法性

High

一、尝试抓包来试试

在这里插入图片描述

  1. 修改Content-Type字段为image/jpeg看看

在这里插入图片描述

  1. 页面提示有问题,证明不是校验MIME,换个思路试试
二、构造一个图片马试,在包含有木马文件和正常图片的目录下打开cmd
copy 图片名 /b + 木马文件 /a 输出后的文件
# 这是我的操作
copy hjk.jpg /b + 2.php /a 3.jpg

在这里插入图片描述

  1. 之后就在文件加中生成了3.jgp文件
  • 尝试上传这个文件看看

在这里插入图片描述

  1. 成功上传,那就表名后端对文件内容没有做过滤和审查,那就访问看看
  2. 将路径拼接到url地址后,发现返回的是图片,不是想要的结果
  3. 发现上传的图片没有被当成php代码解析,那就使用文件包含的方法来尝试解析图片马
  4. 这里你可将等级换成low级别访问文件,也可以不切换(那就要靠路文件包含关卡的过滤了)
# 注意地址
http://192.168.75.1/DVWA/vulnerabilities/fi/?page=../../hackable/uploads/3.png
  1. 使用蚁剑连接

  2. 由于HIgh等级的操作中,全局逻辑会验证会话的合法性,这里就需要添加cookie值,确保合法

    在这里插入图片描述

三、代码审计

在这里插入图片描述

  1. 获取文件后缀名,文件大小,文件内容
  2. 判断文件后缀名是否正确,以及对文件大大小做了要求
  3. 主要使用了getimagesize()函数判断图片的合法性
  4. getimagesize()判断图片的宽度,类型,MIME类型,只最图片有用
四、存在上传漏洞,后端的函数只有对图片类型和长宽,MIMIE判断,没有对整体内容判断过滤

Impossible

代码审计

在这里插入图片描述

  1. 基础的验证(High级别的防护)
  2. 重新编码图片,重新生成新的图片并且保存到临时的路径中(过滤了木马程序)
  3. 使用MD5方式重命名文件名
  4. 不在页面中显示详细的路径位置,只是通过连接显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值