Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1887873
  • 博文数量: 2460
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 24729
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2460)

文章存档

2024年(310)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: 网络与安全

2022-07-08 15:02:45

  在网络安全行业中,常见的漏洞有很多,其中包括SQL注入漏洞、文件上传漏洞、目录遍历漏洞、文件包含漏洞、命令执行漏洞、跨站脚本漏洞等,那么什么是文件上传漏洞?本文为大家重点介绍一下。

  什么是文件上传漏洞?

  文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是Web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。

  可以看出来这种攻击的危害很大,攻击者一旦拿到服务器权限,就必然天下大乱。

  文件上传漏洞的预防方法

  ①客户端校验文件名:在客户端使用JS脚本判断上传的文件名是否在白名单之内,如果不符合直接拒绝上传。但是这种校验很容易让攻击者绕过,比如说攻击者可以禁用JS,也可以先上传一个分发的文件名,让后将请求截住,手动将文件名改成非法的文件名。所以光前端进行校验是远远不够的,还需要后台一同进行校验。

  ②服务端文件名校验:上面提到攻击者可以绕过前端校验,所以还需要后台一起校验文件名是否在白名单内。但是光校验文件名的攻击者还是能有办法绕过。比如说0x00截断,因此还需要其他手段进行进一步校验。

  ③文件头校验:查看上传过来的文件的文件头是否和扩展名匹配。这种方式一定程度上能降低文件上传成功的概率。但是个人觉得最稳妥的预防方法还是以下几种。

  ④将上传上来的文件和Web服务器隔离,专门存放到一台文件服务器上,通过文件ID来访问。如果非要将文件存放在Web服务器一起,可以将存放文件的文件夹的可执行权限去掉。

  ⑤将上传的文件进行随机重新命名。

阅读(440) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~