• 文件上传漏洞


    文件上传漏洞原理:

      通常是由于对上传的文件内容和类型没有进行严格过滤和审查,攻击者可以通过上传脚本、木马获得服务器的webshell权限。

      文件上传本身没有问题,有问题的是上传的文件服务器将以哪种格式去执行。

      一般情况下,攻击者可以通过上传脚本、木马、病毒、webshell,在知道上传文件路径的情况下,加以利用。

      大部分情况下,导致文件上传漏洞的原因是对上传的文件没有进行过滤审查,还有一部分是因为服务器本身存在解析漏洞,导致上传的文件以脚本的格式去执行。

    文件上传的常见绕过方式和防御方式:

      防御方式:

        1.限制文件上传的路径为不可执行

        2.检验文件后缀名

        3.使用白名单和黑名单对可上传文件进行限制

        4.对图片进行二次渲染

        5.使用随机数对文件名和文件路径进行更改

        6.检查http头信息中的content-type字段,看是否是可上传的文件类型

        7.分析头信息内容,不同的文件类型mime信息是不一样的

      

      绕过方式:

        1.从客户端绕过:上传文件时抓包、将文件类型改为可以上传的文件类型。

        2.从服务器端绕过:将http头信息中的content-type字段改为可以上传的文件类型

        3.结合其他漏洞进行绕过,解析漏洞、文件包含漏洞等

        4.利用一些WAF规则进行绕过

          ①WAF会限制检验的文件的大小;例如,WAF的过滤规则是仅检验文件的4M内容,那么我们可以选择大于4M的文件进行上传,在文件尾部插入脚本代码,WAF将不会检测

          ②WAF检验post请求的数据:有些waf会检验post传来的参数,那么我们可以通过抓包,将post请求更改为get请求。

    文件上传漏洞的三个条件是:文件可上传、上传文件可执行、上传路径可知。所以我们在防御的时候可以通过这三个条件去防御,文件上传是服务器必须的功能,这个不能限制,所以可以在其他两个方面进行限制,限制上传的文件不可执行、使用随机数对文件路径和文件名进行重命名

    文件上传漏洞是最直接的漏洞,因为它可以通过上传webshell去操控服务器,危害很大。

  • 相关阅读:
    setTimeout详解
    【康娜的线段树】
    【[CQOI2016]手机号码】
    【[IOI2014]Wall 砖墙】
    【[1007]梦美与线段树】
    【[POI2010]ANT-Antisymmetry】
    【[HEOI2016/TJOI2016]排序】
    【[SCOI2016]背单词】
    【[HNOI2008]GT考试】
    【[JSOI2007]建筑抢修】
  • 原文地址:https://www.cnblogs.com/bulrushlw/p/10620703.html
Copyright © 2020-2023  润新知