《白帽子讲Web安全》8-文件上传漏洞

第8章 文件上传漏洞

8.1 文件上传漏洞概述

  1. 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。
  2. 这种攻击方式是最为直接和有效的,有时候几乎没有什么技术门槛。
  3. “文件上传”本身是一个正常业务需求,本身没有问题,但有问题的是文件上传后,服务器怎么处理、解释文件。
    • 如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
  4. 文件上传后导致的常见安全问题:
上传文件后果
Web脚本语言服务器的Web容器解释并执行了用户上传的脚本,导致代码执行
Flash的策略文件crossdomain.xml黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似)
病毒、木马文件黑客用以诱骗用户或者管理员下载执行
钓鱼图片或包含了脚本的图片在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈

5. 多数情况下,文件上传漏洞一般都是指“上传web脚本能够被服务器解析”的问题,就是通常所说的webshell的问题。完成这个攻击要满足以下几个条件:
- 上传的文件能够被Web容器解释执行
- 文件上传后所在的目录要是Web容器所覆盖到的路径
- 用户能够从Web上访问这个文件
- 用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,则也可能导致攻击不成功。

8.1.1 从FCKEditor文件上传漏洞谈起

8.1.2 绕过文件上传检查功能

8.2 功能还是漏洞

8.2.1 Apache文件解析问题

8.2.2 IIS文件解析问题

8.2.3 PHP CGI路径解析问题

8.2.4 利用上传文件钓鱼

8.3 设计安全的文件上传功能

  1. 文件上传的目录设置为不可执行
  2. 判断文件类型
  3. 使用随机数改写文件名和文件路径
  4. 单独设置文件服务器的域名

8.4 小结

  1. 如果应用缺乏安全检查,或者安全检查的实现存在问题,就极有可能导致严重的后果。
  2. 文件上传往往与代码执行联系在一起,因此对于所有业务中要用到的上传功能,都应该由安全工程师进行严格的检查。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值