文件上传常见问题

  • 文件上传漏洞原理
    上传文件时,未对上传的文件进行严格的验证和过滤,造成文件上传漏洞,上传文件包括asp、aspx、php、jsp等。攻击者利用上传缺陷上传可执行脚本文件,并通过脚本获取执行服务器端命令的能力,控制服务器。
    WEB应用开放了文件上传功能,并且对上传的文件没有进行足够的限制;程序开发部署时,没有考虑系统特征性和过滤不严格,攻击通过web服务器解析漏洞绕过限制,导致可以上传任意文件。

  • 文件上传漏洞常见的存在点?
    各类可以上传文件的点,如上传头像、文件附件、个人简历、图片、附件
  • .NET的网站上传的文件类型
    ASP、ASPX、或者00截断、利用中间件的解析漏洞绕过、前端修改绕过
  • 应用程序限制了文件后缀名不允许上传,如何绕过
    1、前端校验,可以尝试绕过。
    2、图片码:cmd copy a.jpg + b.php/a c.jpg 通过把图片和shell文件进行合成后上传。
    3、尝试其他可以被解析的类型,如php3、php4、00截断。
  • 文件上传二次渲染原理:
    上传文件后,网站会对图片进行二次处理(格式、尺寸要求),服务器会把里面的内容进行替换更新,处理完后,根据我们原有的图片生成新的图片并放到网站对应的标签进行显示
  • 文件上传二次渲染绕过:
    1、配合文件包含漏洞:
    将一句话木马插入到网站二次处理后的图片中,(先上传一个文件,成功后下载文件,对比上传后两个文件的大小,那一部分被删除了,在没有删除的部分添加木马,再次上传),配合文件包含漏洞获取webshell。
    2、配合条件竞争:https://blog.csdn.net/2401_84558406/article/details/138640741
  • 文件上传如何绕过头部检测/
    修改文件头,如GIF89a或在图片中插入一句话木马
  • 文件上传绕过WAF?
    引号变换、大小写、双写、添加换行符,多个分号,多个等号,数据溢出,数据00截断、MINE类型检测绕过、图片码绕过
  • 00截断原理:
    00截断是操作系统层的漏洞,由于操系统是c语言或汇编语言编写的,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符串时,认为时结束符
  • 文件上传防御:
    1、文件类型检查:只允许上传安全的文件类型,检查mime类型或文件扩展名验证
    2、限制文件大小,防止数据溢出
    3、对上传文件进行重命名
    4、检查文件内容
    5、路径隔离,将上传文件存储到独立目录中。
    6、设置文件读取权限。
posted @ 2024-12-09 14:54  予遂计划  阅读(77)  评论(0)    收藏  举报