• 文件上传漏洞简介


    今天继续给大家介绍渗透测试相关知识,本文主要内容是文件上传漏洞简介。

    免责声明:
    本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
    再次强调:严禁对未授权设备进行渗透测试!

    一、文件上传漏洞介绍

    在web服务中,经常会让客户端进行文件的上传操作,这种操作经常是上传图片、上传文件等等。而这种常见的上传操作一旦被攻击者利用,上传恶意脚本代码,然后想办法使这些代码在服务器上执行,就会对服务器安全造成极大的危害,严重影响到了服务器安全。
    一般来说,文件上传漏洞的形成有三个条件:
    1、攻击者能够上传携带有恶意脚本代码的文件。
    2、攻击者能够知道上传文件的路径和名称。
    3、攻击者上传的恶意文件能够在服务端解析并执行。
    一般而言,第二个条件相对比较好实现,web服务器对文件路径和名称经常需要对外发布(例如一张图片),因此对文件上传漏洞的防护主要是在于1、3条。
    在这里插入图片描述

    二、文件上传漏洞危害

    文件上传漏洞一般是高危漏洞,通过该漏洞,可以向站点上传木马,并获得网站的shell权限。

    三、文件上传漏洞类型

    文件上传漏洞,按照形成机理,可以将文件上传漏洞分成以下四类:
    1、代码层面造成的文件上传漏洞
    代码层面造成的文件上传漏洞,即站点后台代码逻辑不严格,导致对用户上传的文件没有检测或者检测不严格,从而使得用户可以上传恶意文件或者绕过站点的检测上传恶意文件。
    2、编辑器造成的文件上传漏洞
    很多新闻网站、博客网站会使用一些编辑器,来方便用户编辑撰写文章,常见的编辑器有ewebeditor、fckeditor、kindeditor等等。这些编辑器,也可能存在文件上传的漏洞。
    3、Web服务器解析造成的文件上传漏洞
    IIS、Apache、Nginx等Web服务器,对于用户的一些上传,有时因为其解析规则的缘故,可能会造成对用户上传文件名检测的失效,进而造成文件上传漏洞。
    4、CMS上传漏洞
    此外,如果站点搭建时使用了一些CMS,也有可能造成文件上传漏洞,这种漏洞不是基于代码层面的,而是在CMS设计时逻辑上存在的问题。

    四、文件上传漏洞检测

    文件上传漏洞的检测,主要的检测方式有如下三种:
    1、基于文件名的检测
    文件上传漏洞最常见的检测方式即基于文件名的检测,这种检测方式采取黑名单或者白名单的方式,来限制用户上传的文件后缀名,从而造成用户即使上传恶意文件,但是由于文件后缀名的缘故,无法进行解析,进而阻止文件上传漏洞的产生。
    2、基于MIME信息的检测
    我们在向站点上传文件时,会附带一个MIME的信息头,该信息头标识了我们上传的文件的类型,因此有的网站会针对MIME的信息头来进行文件上传的检测。
    3、基于文件内容的检测
    此外,还有一些基于文件内容的检测手段。例如,如果用户上传的是一个图片,那么就尝试提取图片的长度和宽度,如果提取失败,就说明用户上传的不是一张图片;或者当用户上传其他类型的文件时,根据文件的后缀名,检测文件头信息,如果信息不匹配,也就说明该文件可能存在问题。
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 相关阅读:
    智能座舱总结
    关于测试的思考-自动化测试以及流量回放
    sqlx库使用指南
    消息中间件-RabbitMq相关概念及原理介绍【图文并茂】
    Shopee活动名称怎么填写好?Shopee活动名称设置注意事项——站斧浏览器
    JSP session对象
    PLC项目调试常见的8种错误类型
    记一次黑入盗号网站
    MySQL-数据类型
    Windows动态链接库使用详解
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/126551150