DVWA-文件上传漏洞 教程

文件上传漏洞

实验准备

安装JDK环境

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在系统变量下新建变量JAVA_HOME 变量值指向JDK安装的文件夹。
在这里插入图片描述

在系统变量下新建变量CLASSPATH 变量值输入:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

在这里插入图片描述

选中Path 点击编辑,Windows 7系统, 则直接在末尾添加
在这里插入图片描述在这里插入图片描述

测试安装成功
在这里插入图片描述

Low等级

查看源码

在这里插入图片描述

basename(path,suffix)
函数返回路径中的文件名部分,如果可选参数suffix为空,则返回的文件名包含后缀名,反之不包含后缀名。
可以看到,服务器对上传文件的类型、内容没有做任何的检查、过滤,存在明显的文件上传漏洞,生成上传路径后,服务器会检查是否上传成功并返回相应提示信息。
如果上传成功,则会提示 路径+succesfully uploaded! 如果上传失败,则会提示 Your image was not uploaded。

上传冰蝎(belinder)的webshell, server文件夹中的文件:shell.php

在这里插入图片描述在这里插入图片描述

启动冰蝎,连接木马webshell

在这里插入图片描述在这里插入图片描述

配置冰蝎,“新增”

在这里插入图片描述在这里插入图片描述

双击刚才新增的记录,连接webshell,链接成功后的界面在这里插入图片描述

可进行各种攻击

在这里插入图片描述

Medium等级

查看源码

在这里插入图片描述

可以看到,服务器对上传文件的大小和类型做了限制。只允许上传小于 100000 字节并且文件type类型是image/jpeg或 image/png 的。

方法一:抓包修改文件的type

在phpstudy的服务器中,将原来上传的shell.php,删除
在这里插入图片描述

在kali中上传冰蝎(belinder)的webshell,这里显示文件类型错误提示

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

配置kali中的火狐代理,通过burpsuite抓包(具体过程略),默认type类型是application/octer-stream
在这里插入图片描述

将其类型改为 image/jpeg ,然后send上传,可以看到,已经上传成功
在这里插入图片描述

在物理机,利用冰蝎访问shell.php
在这里插入图片描述

方法二:00截断

00截断方法一
在phpstudy的服务器中,将原来上传的shell.php,删除
在这里插入图片描述

在kali中上传冰蝎(belinder)中将shell.php, 复制,并改名为shell.php.jpg
在这里插入图片描述

在kali中上传冰蝎(belinder)的webshell, server文件夹中的文件:shell.php.jpg,这里显示文件上传成功

在这里插入图片描述在这里插入图片描述

配置kali中的火狐代理,通过burpsuite截获该数据包,并转发到repeater
在这里插入图片描述

查看16进制文件名shell.php.jpg,通过将”.”,改为00,将文件名改为:shell.php jpg , 语法运行结果为: shell.php,并上传到web网站
在这里插入图片描述

将2e改为 00
在这里插入图片描述

然后再查看,可以看到文件名已经变了
在这里插入图片描述

点击“send”提交数据包,response显示文件提交成功
在这里插入图片描述

可以到物理机的phpstudy服务器查看webshell,已经提交成功
在这里插入图片描述

在物理机,利用冰蝎访问shell.php
在这里插入图片描述

00截断方法二:将文件名改为 1.php%00.jpg

将原来上传的shell.php,删除
在这里插入图片描述

将shell.php,复制,并命名为“shell.php%00.jpg
在这里插入图片描述

上传该文件,显示成功上传
在这里插入图片描述在这里插入图片描述

配置kali中的火狐代理,通过burpsuite截获该数据包,并转发到repeater
在这里插入图片描述

然后选中 %00 ,然后进行URL-decode。可以看到,文件名已经变了
在这里插入图片描述

点击 send ,可以看到已经上传成功了
在这里插入图片描述

可以到物理机的phpstudy服务器查看webshell,已经提交成功
在这里插入图片描述

在物理机,利用冰蝎访问shell.php
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Web Security Loop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
>