文件上传2----前端JS验证与后端文件类型验证绕过

一、前端过滤绕过(Less-1)

前期准备:

菜刀、php一句话木马一个。

情况描述:

按照题目要求,需要上传一个图片。但是我们准备的是一个php的木马文件。先上传试一下。结果发现,对文件后缀名进行了校验,要求输入特定后缀的文件。

在这里插入图片描述

对于文件后缀名的校验,无非前端和后端两种,先看一看前端源码,解雇,发现确实是前端JS验证导致的问题。

在这里插入图片描述

既然是前端校验,那方法就多了呀,首先可以考虑修改源码的匹配规则,或者是通过伪造后缀名绕过前端验证之后修改后缀名进行上传。

方法一:修改源码

刷新题目页面,通过burp代理截断服务端返回的数据包。找到JS源码,修改白名单直接删除函数内容,返回true.
在这里插入图片描述

修改后放行,然后再客户端选择PHP文件,进行上传即可。然后就会发现出现了图片信息,在源码中查看到图片的相对位置为上一级目录的upload目录下。

在这里插入图片描述
然后使用菜刀进行连接。
在这里插入图片描述

方法二:

在PHP木马后面添加一个".jpg"后缀,绕过前端验证,然后通过burp再修改文件名为php后缀上传即可。

二、后端文类型检测绕过

在Less-2中,我们查看源码发现,并没有less-1中的前端验证。

我们尝试直接上传一个php木马,发现返回信息为“文件类型不正确”,说明后端对文件类型进行了判断。
在这里插入图片描述
于是使用burpsuite抓包修改文件类型(content-type字段)。

在这里插入图片描述

发送并截取返回包,发现已经返回了我们上传的“图片”。

在这里插入图片描述
返回了我们上传的“图片”。
在这里插入图片描述
根据路径提示,在使用菜刀进行连接即可。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值