为了账号安全,请及时绑定邮箱和手机立即绑定

文件上传漏洞 — 前端JS绕过、MIME类型绕过

文件上传漏洞的相关讲解基于upload-labs靶场,搭建教程见文件上传漏洞靶机搭建教程

前端JS绕过

浏览器访问http://127.0.0.1/Pass-01/index.php进入靶机pass01漏洞练习页面:

https://img1.sycdn.imooc.com//61ef61d70001a27812540711.jpg

  • webshell:就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理服务器管理权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的。

解决方法

发现pass01就是典型的前端JS进行的文件检校,所以针对前端的JS绕过方式有二种:

方法一

直接在浏览器中禁用JS脚本,让JS脚本不发挥作用

https://img1.sycdn.imooc.com//61ef61d70001aa0d19200961.jpg

https://img1.sycdn.imooc.com//61ef61d80001887219200961.jpg

禁用Js脚本后就可以进行.php的上传操作:

https://img1.sycdn.imooc.com//61ef61d900011b5717860683.jpg

方法二

通过Burp Suit 进行抓包改后缀名,绕过前端的JS检校。

  1. 上传允许的后缀名文件

https://img1.sycdn.imooc.com//61ef61d900013fbf10230566.jpg

  1. 通过Burp Suit修改后缀名称

https://img1.sycdn.imooc.com//61ef61da0001daa115290782.jpg

https://img1.sycdn.imooc.com//61ef61db00014b6306710649.jpg

MIME类型绕过

浏览器访问http://127.0.0.1/Pass-02/index.php进入靶机pass02漏洞练习页面:

https://img1.sycdn.imooc.com//61ef61db0001ab0e09170583.jpg

通过上传shell.php文件发现提示:文件类型不正确,请重新上传!,可以判断该pass是检查的文件的MIME类型。

关于什么是MIME类型,本文提供一个开发者手册地址:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types

  • 媒体类型(通常称为 Multipurpose Internet Mail ExtensionsMIME 类型 )是一种标准,用来表示文档、文件或字节流的性质和格式。它在IETF RFC 6838中进行了定义和标准化。

语法

通用结构

type/subtype
  • MIME的组成结构非常简单;由类型与子类型两个字符串中间用'/'分隔而组成。不允许空格存在。type 表示可以被分多个子类的独立类别。subtype 表示细分后的每个类型。

  • MIME类型对大小写不敏感,但是传统写法都是小写。

类型举例

text/plain
text/html
image/jpeg
image/png
audio/mpeg
audio/ogg
audio/*
video/mp4
application/*
application/json
application/javascript
application/ecmascript
application/octet-stream
…

解决方法

方法一:

利用Burp Suit修改成允许的MIME类型进行文件上传

采用image/jpeg、image/png的MIME类型:

上传.php后缀的文件,修改请求包内容内的Content-Type,将application/octet-stream修改为image/png或者image/jpeg即可上传成功。

https://img1.sycdn.imooc.com//61ef61dc00015f5913770821.jpg

方法二:

在本地电脑将.php后缀文件修改成.jpg文件

通过Burp Suit修改后缀名称:

上传.jpg后缀的文件,修改请求包内容内的文件名称,将.jpg修改为.php即可上传成功。

https://img1.sycdn.imooc.com//61ef61dd00010ce614100834.jpg




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消