首页 > Web开发 > 详细

03服务器 文件上传漏洞

时间:2020-02-25 13:45:10      阅读:47      评论:0      收藏:0      [点我收藏+]

文件上传漏洞,指用户上传了一个可执行脚本, 并通过此脚本获得了服务端命令的能力。

需要满足条件:

  1. 上传的文件能够被 Web 容器解释执行,所以文件上传后所在的目录是 Web 容器所覆盖到的路径
  2. 用户能够通过Web访问到这个文件, 如果文件上传了,但是用户无法通过Web访问,或者无法使得Web容器解释这个脚本, 那么也不是漏洞.
  3. 如果用户上传的文件被安全检查,格式化,图片压缩等改变了内容,则可能导致攻击不成功.

所以, validation 还是很重要. 但有时检查文件的格式可能有些问题, 比如如果用户上传 xxx.php[\0].jpg, 表面上看是一个图片, 但是很多语言把[\0] 对应十六进制的 0x00(截断字符)截断了,所以, 从服务器语言比如 PHP,C 等就解释为上传的文件是 xxx.php. (这个validation 是在前端做的, 判断文件的格式是否为.jpg)

如何防御文件上传漏洞

  1. 文件上传的目录设置为不可执行, 很多大型网站,将上传文件独立存储,作为静态文件处理
  2. 判断文件类型,推荐白名单方式. 可以结合 MIME Type
  3. 使用随机数改写文件名和文件路径, 上传后要被攻击者执行, 攻击者需要找到文件. 如果用户上传, 但是不能访问到文件.
  4. 单独设置文件服务器或域名

 

03服务器 文件上传漏洞

原文:https://www.cnblogs.com/moveofgod/p/12360636.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!