码迷,mamicode.com
首页 > 其他好文 > 详细

文件上传如何合理地验证文件类型?

时间:2014-08-28 17:04:02      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:http   os   文件   问题   代码   sp   时间   ef   c   

在网上搜了一下,一般都是通过文件后缀名判断,很显而易见的是用户通过修改后缀名来逃避,我想问的问题有两个:

  1. 还有什么验证文件类型的方法?

  2. 攻击者利用后缀名漏洞能造成什么样的危害?

在网上找到的攻击方式有:

  • 修改后缀名(exe->jpg),
  • 多后缀名(test.php.fr),
  • 后缀名大小写(php->pHp),
  • 代码嵌入(图片里注入php代码),
  • null字符(00)
  • 相对路径(../../../)

知乎用户-江南回答

其实对于防御者来说,其实不用这么费劲来进行验证

  1. 时间戳+随机数+.jpg后缀,强制重命名上传文件

  2. 隐藏上传后的文件名

  3. 上传目录不给执行权限

  4. 上传的文件按照图片执行

    文件上传攻击框架

文件上传如何合理地验证文件类型?

标签:http   os   文件   问题   代码   sp   时间   ef   c   

原文地址:http://my.oschina.net/bluven/blog/307677

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!