上传文件白名单_十大常见web漏洞——文件上传漏洞

漏洞介绍

在我们浏览网页时,文件上传是非常常见的,比如我们会上传头像、附件、视频等文件,文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,比如上传头像的时候,按道理用户只能上传图片类型的文件,但是如果代码没有限制文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。

c56326b91a206f6ecb4c6621df7e6514.png

文件传输

漏洞演示

下面我们在DVWA环境下进行演示,如下图红框中要求我们选择一张图片去上传,正常用户会选择后缀为“.jpg”、“png”等类型的图片上传,但如果后台代码没有对文件类型进行限制,我们选择了一个后缀为“”.php的“webshell.php”文件,它是一个包含了恶意代码文件,点击“upload”,提示“succesfully uploaded!”,上传成功!攻击者会通过访问此文件,进而控制我们的网站服务器。

bb02fde9242c17967edd26fd27e01313.png

没有限制文件类型的上传

当然,现在没有限制的上传页面几乎不存在了,我们大部分遇到的情况会是如下图所示:

31594cf0f65847f9cddfc5d37d1e6402.png

限制了文件类型的上传界面

它会提示“Your image was not uploaded. We can only accept JPEG or PNG images.”上传失败,并要求你只能上传JPEG或PNG格式的文件,我们打开后台代码,发现它只允许image/jpeg和image/png类型文件上传,如下图:

75c4241393a2a8f1eb211f0a38299c90.png

限制了文件上传类型

这时候我们需要抓取上传文件时的数据请求包,如下图所示,将加深部分的信息(Content-Type: application/octet-stream)修改为:Content-Type: image/jpeg,点击forward

509250b341202dce2a19df4649ec0512.png

上传文件时的请求数据包

系统就会提示上传成功,因为我们修改了文件类型为系统所允许的类型,所以上传成功,如下图:

35a2cee1fc6334e96fb74d926121e778.png

修改请求数据包后上传成功

此时此刻,系统虽然进行了文件类型的限制,但是攻击者还是会通过各种各样的手段将自己想要上传的文件类型,上传到系统服务器,文件上传漏洞依然存在,需要更严格的限制,这里我们就不再演示,因为魔高一尺道高一丈,我们只需要了解文件上传漏洞的原因及危害即可,防护的问题交给专业的技术人员来完成,下面介绍三个主要防御措施。

漏洞防御

1、设置文件上传类型白名单;

2、指定文件上传的路径,并禁止路径下文件的执行权限;

3、隐藏上传路径。

没有网络安全,就没有国家安全!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java编程比C编程好吗?《精通Unix下C语言与项目实践》读书笔记(15)

《精通Unix下C语言编程与项目实践》读书笔记(new)文章试读 不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国。一、二、三、四职场规划:一些杂七杂八的职场感悟吧。不值钱的软件人才 精力充沛与事业…

C# Lambda表达式详解,及Lambda表达式树的创建

每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦…

将span隐藏的函数_分类汇总函数Subtotal和Aggregate应用技巧解读

在实际的数据统计分析中,经常会遇到很多复杂的因素,例如,对隐藏的行或计算结果返回错误类型的值不予统计等等……如果此时还用常规的Sum系列、Count系列、Average系列等函数去做数据统计分析,将会是难上加难或者根本无法完成。此时…

粉丝回馈 | 用30天换来了这辈子独一无二的纪念

不知不觉2017年已经临近尾声了,超模君和小木决定趁年末,要给粉丝们一份用心的回馈,感谢这一年来大家对我们的支持与厚爱~ 经过几天几夜的苦思冥想、辗转反侧。。。超模君和小木最终确定了一份超模定制版纪念品,定制版!…

地图统计_连吃七八个都不够!太仓不完整包子统计地图来了!

在上班的路上总会顺道买上几个包子,不止是因为方便美味,圆鼓鼓的外型就像个太阳一样能带来满满的能量。这次叔打卡了8家高人气包子店,不知道有没有你经常光顾的那家呢?留言区还抽3位吃货送现金红包哦!长春路包子铺?地…

使用 Tye 辅助开发 k8s 应用竟如此简单(四)

使用 Tye 辅助开发 k8s 应用竟如此简单(一)使用 Tye 辅助开发 k8s 应用竟如此简单(二)使用 Tye 辅助开发 k8s 应用竟如此简单(三)续上篇,这篇我们来进一步探索 Tye 更多的使用方法。本篇我们来了…

炸锅了!Google称2029年人类开始实现永生不死!疾病,衰老,痛苦将彻底消失!?

这个世界上最公平的,恐怕就是生老病死了。即使一个人一生的成就再大,财富再多,最终都敌不过自然规律,走向死亡。 然而 谷歌的首席未来科学家Ray kurzweil 却发布了一个惊天消息: 到了2029年, 人类将开始正…

asp.net web api中的版本管理

应用是演进的,通常我们用版本号来管理。api也是演进的,这篇博文就说说asp.net web api演进时的版本管理。asp.net web api的版本管理是通过微软的一个包来实现的。Install-Package Microsoft.AspNetCore.Mvc.Versioning通过url参数: api/order/api-versi…

初二物理模型有哪些_初二是成绩下滑的高危期,做好这5点成绩涨涨涨!(附全学科提升技巧,家长转给孩子!)...

原标题:初二是成绩下滑的高危期,做好这5点成绩涨涨涨!(附全学科提升技巧,家长转给孩子!)又到了每周五【学习经验分享】的时候了。今天小于老师分享的是初二关键时期可能会出现的问题,以及全科提升技巧。我们…

14个你可能不知道的JavaScript调试技巧

以更快的速度和更高的效率来调试JavaScript 熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言 JavaScript 很难调试,但如果你掌握了几个技巧,就能用很少的时间来解决错误和bug。 文中已经列出了14个你可能不知道的调试技巧,但是可…

mysql校对规则_MYSQL校对规则

一、前言有时候遇到这种情况,你用一个like语句查询,查到的结果中有一些并没有包含你查询的关键词的纪录;有时候遇到这种情况,你的数据库自作聪明的大小写不敏感,让你在更新时把大小写不同的两条记录都更新了&#xff1…

基于NHibernate的留言本

留言本环境:access2003 vs2005 整个留言本的类视图: 1.新建一个空的解决方案 NHibernateMessage 依次建立项目Model,DAL,BLL,Command四个项目 2.Model项目处理 删除自动生成的class1.cs文件,新建message.cs文件其代码如下 Codeusing System;…

腾讯招.NET要求以下几点,你准备好了吗?

今天是大年初七,上班第一天,你在关注什么?2021年跳槽季可能是近10年来最火爆的跳槽季,各HR都在摩拳擦掌,新的征程已开始,.NET开发者们,也该行动起来了!上图是腾讯的.NET Core招聘标准…

不得了,日本出版社竟是这样吸引死宅学编程的

此前日本出版社“翔泳社”推出 IT 专业用语拟人化的 IT 说明书,将书中相关名词用萌妹子来表现,并对其性格等方面进行了设定。 比如 HTTP 酱由于在互联网上应用最为广泛,经常与大家见面,因此被设计成了偶像。她与其它协议有着很好的…

mysql表空间权限_MySQL InnoDB表空间加密示例详解

前言从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 。此功能为物理表空间数据文件提供静态加密。该加密是在引擎内部数据页级别的加密手段,在数据页写入文件系统时加密,加密用的是AES算法,而其解密是在从…

Dapr 正式发布 1.0

年前我写了一篇博客《Dapr 已在塔架就位 将发射新一代微服务》, 今天Dapr 正式发布了1.0 :Dapr Runtime v1.0.0Dapr dotnet SDK v1.0.0随着Dapr 发布1.0 版本, .NET团队编写的《Dapr for .NET Developers》:https://github.com/do…

100 万在中国不同地方能活多久?

最近,一张名为 “100 万在中国各省能生活多久?” 的图片在网上流传 话不多说,往下看 没错,就是正如你们看到的 天朝大北京 以“100万能活19年9个月”的 成绩排名“倒数第一” 图片一出 数据君虎口一震 顿时一声惊叫 统计按“年人均…

重磅:.NET 6 发布首个预览版

前言2021 年 2 月 17 日微软发布了 .NET 6 的 Preview 1 版本,那么来看看都有什么新特性和改进吧,由于内容太多了因此只介绍一些较为重点的项目。ASP.NET Core 6 Preview 1 和 EF Core 6 Preview 1 同样有很多的更新内容,但是限于篇幅就不在这…

UOS简单评测

一位网友安装了UOS系统,并录制了视频,这位网友告知,UOS使用中无卡顿,比较流畅。以下为机器的硬件配置。就操作系统最关键的软件生态而言,UOS自带40多款原创应用和一个有2000多款优质应用的商店,包括微信、Q…