记一次简单的渗透(二)
字数 1194 2025-08-05 00:16:03

OpenSNS渗透测试实战分析

1. 漏洞概述

OpenSNS存在多个高危安全漏洞,包括:

  • 前台远程代码执行(RCE)
  • 后台文件上传漏洞
  • 后台任意文件下载
  • 后台任意文件夹删除

2. 漏洞详情

2.1 前台RCE漏洞

利用方式
通过构造特定URL实现远程代码执行:

index.php?s=weibo/share/shareBox&query=app=Common%26model=Schedule%26method=runSchedule%26id[method]=-%3E_validationFieldItem%26id[status]=1%26id[4]=function%26id[1]=assert%26id[args]=jiang=phpinfo()%26id[0]=jiang

漏洞原理

  • 利用Schedule模型的runSchedule方法
  • 通过参数注入实现函数调用
  • 最终执行assert函数运行任意PHP代码

2.2 后台文件上传漏洞

利用方式

  1. 登录后台后,在模板管理处上传ZIP压缩包
  2. 系统会自动解压到/Theme/目录
  3. 可直接将WebShell解压到可访问目录

特点

  • 无需特殊权限
  • 直接解压到Web目录
  • 可绕过常规文件上传限制

2.3 后台RCE漏洞

利用方式

  • 结合后台功能实现代码执行
  • 具体利用方式未详细说明,但确认存在

2.4 后台任意文件下载

利用方式

  • 通过后台特定功能实现任意文件读取
  • 可用于获取配置文件、数据库凭证等敏感信息

3. 渗透测试过程

3.1 信息搜集

  1. 使用FOFA搜索引擎寻找目标站点
  2. 确认目标环境:
    • PHP 5.x环境
    • 存在disable_functions限制
    • 存在open_basedir限制
    • 缺少危险模块
    • 存在php-fpm/fastcgi

3.2 初始访问

  1. 使用弱口令进入后台
  2. 通过文件上传功能植入WebShell
    • 上传ZIP压缩包到模板管理
    • 解压路径为/Theme/

3.3 权限提升

  1. 使用蚁剑连接WebShell

  2. 发现存在限制:

    • disable_functions限制
    • open_basedir限制
  3. 绕过限制:

    • 目标使用宝塔面板
    • PHP-FPM监听在Unix套接字:/tmp/php-cgi-56.sock
    • 使用以下方式绕过:
      • 直接与sock文件交互
      • 使用unix://套接字方式
      • 构造fsockopen函数请求
  4. 具体实现:

    • 修改WebShell脚本名称
    • 使用蚁剑的bypass_disable_functions功能
    • 参考项目:https://github.com/AntSwordProject/AntSword-Labs/tree/master/bypass_disable_functions/5

3.4 后渗透

  1. 成功绕过限制后获得完整命令执行能力
  2. 可进一步进行权限维持和横向移动

4. 防御建议

  1. 及时升级OpenSNS到最新版本
  2. 加强后台认证,避免弱口令
  3. 限制文件上传功能,特别是模板管理
  4. 配置严格的PHP安全设置:
    • 禁用危险函数
    • 合理设置open_basedir
  5. 监控/tmp目录下的异常sock文件
  6. 定期进行安全审计和渗透测试

5. 参考资源

  1. AntSword bypass_disable_functions项目
  2. PHP-FPM安全研究资料
  3. OpenSNS官方安全公告
OpenSNS渗透测试实战分析 1. 漏洞概述 OpenSNS存在多个高危安全漏洞,包括: 前台远程代码执行(RCE) 后台文件上传漏洞 后台任意文件下载 后台任意文件夹删除 2. 漏洞详情 2.1 前台RCE漏洞 利用方式 : 通过构造特定URL实现远程代码执行: 漏洞原理 : 利用 Schedule 模型的 runSchedule 方法 通过参数注入实现函数调用 最终执行 assert 函数运行任意PHP代码 2.2 后台文件上传漏洞 利用方式 : 登录后台后,在模板管理处上传ZIP压缩包 系统会自动解压到 /Theme/ 目录 可直接将WebShell解压到可访问目录 特点 : 无需特殊权限 直接解压到Web目录 可绕过常规文件上传限制 2.3 后台RCE漏洞 利用方式 : 结合后台功能实现代码执行 具体利用方式未详细说明,但确认存在 2.4 后台任意文件下载 利用方式 : 通过后台特定功能实现任意文件读取 可用于获取配置文件、数据库凭证等敏感信息 3. 渗透测试过程 3.1 信息搜集 使用FOFA搜索引擎寻找目标站点 确认目标环境: PHP 5.x环境 存在disable_ functions限制 存在open_ basedir限制 缺少危险模块 存在php-fpm/fastcgi 3.2 初始访问 使用弱口令进入后台 通过文件上传功能植入WebShell 上传ZIP压缩包到模板管理 解压路径为 /Theme/ 3.3 权限提升 使用蚁剑连接WebShell 发现存在限制: disable_ functions限制 open_ basedir限制 绕过限制: 目标使用宝塔面板 PHP-FPM监听在Unix套接字: /tmp/php-cgi-56.sock 使用以下方式绕过: 直接与sock文件交互 使用 unix:// 套接字方式 构造 fsockopen 函数请求 具体实现: 修改WebShell脚本名称 使用蚁剑的bypass_ disable_ functions功能 参考项目:https://github.com/AntSwordProject/AntSword-Labs/tree/master/bypass_ disable_ functions/5 3.4 后渗透 成功绕过限制后获得完整命令执行能力 可进一步进行权限维持和横向移动 4. 防御建议 及时升级OpenSNS到最新版本 加强后台认证,避免弱口令 限制文件上传功能,特别是模板管理 配置严格的PHP安全设置: 禁用危险函数 合理设置open_ basedir 监控/tmp目录下的异常sock文件 定期进行安全审计和渗透测试 5. 参考资源 AntSword bypass_ disable_ functions项目 PHP-FPM安全研究资料 OpenSNS官方安全公告