文件上传漏洞(二)

一、任意文件上传漏洞

1、简介

任意文件上传漏洞又名文件直接上传漏洞 这种漏洞危害极大,如果攻击者能直接上传恶意脚本到网站存放的目录,且这个目录可解析动态脚本
语言,那么攻击者就能够直接获取网站权限,甚至进一步权限提升,控制服务器。

2、任意文件上传代码分析

直接获取文件名,把上传的临时文件移动到 hackable/uploads 目录下

在这里插入图片描述

直接上传文件,网页会返回路径,访问 url 即可getshell。

在这里插入图片描述

上传的文件可以改成其他恶意脚本或者后门,如中国菜刀一句话,后门大马。即可获得 webshell。

在这里插入图片描述

二、绕过前端 js 检测上传

1、简介

在文件上传时,用户选择文件时,或者提交时,有些网站会对前端文件名进行验证,一般检测后缀名,是否为上传的格式。如果上传的格式不
对,则弹出提示文字。此时数据包并没有提交到服务器,只是在客户端通过 js 文件进行校验,验证不通过则不会提交到服务器进行处理。

在这里插入图片描述

2、代码分析

客户段 html 上传文件会调用 checkFile 函数,首先获取文件后缀名。如果文件为空,则弹出“请选择要上传的文件”,如果文件不为空,
获取上传的文件后缀名不 .jpg、.png 、.gif 其中一种则提示“改文件不允许上传”,上传失败。

在这里插入图片描述

3、绕过 js 检测方法

1、按 F12 使用网页审计元素,把校验的上传文件后缀名文件删除,即可上传。 
2、把恶意文件改成 js 允许上传的文件后缀,如 jpg、gif、png 等,再通过抓包工具抓取 post 的数据包,把后缀名改成可执行的脚本
后缀如php 、asp、jsp、net 等,即可绕过上传。

3.1 删除 js 文件

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

3.2 抓包修改后缀名

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

三、绕过 contnet-type 检测上传

1、简介

有些上传模块,会对 http 的类型头进行检测,如果是图片类型,允许上传文件到服务器,否则返回上传失败。因为服务端是通过
content-type 判断类型,content-type 在客户端可被修改。则此文件上传也有可能被绕过的风险。

2、代码分析

首先进行 submit 提交判断,再检测文件类型如果是 image/jpeg 或者 image/png,即允许上传。

在这里插入图片描述

3、上传攻击

上传文件,脚本文件,抓包把 content-type 修改成 image/jpeg 即可绕过上传。
https://www.runoob.com/http/http-content-type.html

在这里插入图片描述

修改后 Content-Type: image/jpeg

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值