CMS名称:博达全媒体网站群管理平台(Visual SiteBuilder / VSB)
开发商:西安博达软件股份有限公司(成立于2000年)
技术栈:Java + Tomcat + PostgreSQL/Oracle/MySQL
部署架构:站群管理模式(1台管理服务器 + N台发布服务器)
客户群体:高校(70%+)、政府机构、科研院所
文档日期:2026-07-08
目录
- 产品背景与特征识别
- API未授权漏洞全景图
- 高危漏洞(P0-P1)
- 3.1 任意文件上传 → Getshell
- 3.2 模板注入 / SSTI → RCE
- 3.3 反序列化 → RCE
- 3.4 任意命令执行
- 中高危漏洞(P1-P2)
- 4.1 敏感信息泄露
- 4.2 水平越权(IDOR)
- 4.3 垂直越权 / 任意用户添加
- 4.4 任意密码重置
- 4.5 SQL 注入
- 4.6 Druid 监控未授权
- 4.7 Swagger API 文档泄露
- 中危漏洞(P2-P3)
- 4.1 SSRF
- 4.2 目录遍历 / 任意文件读取
- 4.3 存储型 XSS
- 4.4 弱口令 / 默认口令
- 已知官方安全声明
- 实战检测 Checklist
- 防御建议
一、产品背景与特征识别
1.1 产品概述
博达全媒体网站群管理平台(VSB)是国内高校市场占有率最高的站群管理系统。系统采用Java技术栈(未使用Struts2框架),后端常见于 Tomcat 容器,数据库多采用 PostgreSQL(默认)或 Oracle/MySQL。
典型部署路径:
- Linux:
/opt/vsb9/或/opt/vsb/ - Windows:
C:\Program Files\VSB\
1.2 指纹特征
HTTP 响应头特征
1 | X-Powered-By: VSB |
页面 / HTML 特征
1 | Powered by 博达网站群 |
默认端口
| 端口 | 用途 |
|---|---|
| 80/443 | 前台门户站点 |
| 8080 | Tomcat 管理(部分部署) |
| 8443 | HTTPS 管理后台 |
常见后台路径
1 | /vsb/admin/ → 管理后台登录 |
FOFA / 搜索引擎指纹
1 | app="博达全媒体网站群管理平台" |
1.3 API 路径规律
博达站群系统的 API 通常遵循以下路径模式(通过 JS 反编译或流量抓取获得):
1 | /api/xxx → RESTful API |
二、API未授权漏洞全景图
博达 CMS 作为商业闭源系统,其 API 鉴权完全依赖开发者的自实现。由于站群架构涉及大量内部 API 接口,经常存在鉴权遗漏问题。
| 漏洞类型 | 风险等级 | 攻击复杂度 | 危害 | 典型 API 路径 |
|---|---|---|---|---|
| 任意文件上传 → Getshell | ⭐⭐⭐⭐⭐ | 低 | 服务器沦陷 | /api/upload /vsb/uploadFile |
| 模板注入 → RCE | ⭐⭐⭐⭐⭐ | 中 | 服务器沦陷 | /api/template/save /vsb/template |
| 反序列化 RCE | ⭐⭐⭐⭐⭐ | 中高 | 服务器沦陷 | Java RMI/Hessian 端点 |
| 敏感信息泄露 | ⭐⭐⭐⭐ | 极低 | 数据库/Bucket 凭据泄露 | /api/config /api/db |
| 水平越权 (IDOR) | ⭐⭐⭐⭐ | 低 | 跨站篡改/数据窃取 | /api/article/edit?id= |
| 垂直越权 | ⭐⭐⭐⭐ | 低 | 权限提升至管理员 | /api/user/add?role=admin |
| 任意密码重置 | ⭐⭐⭐⭐ | 低 | 接管管理员账号 | /api/user/resetPwd |
| SQL 注入 | ⭐⭐⭐⭐ | 中 | 拖库/后台登录绕过 | /api/site/list?siteId= |
| SSRF | ⭐⭐⭐ | 低 | 内网探测 | /api/import?url= |
| 目录遍历 | ⭐⭐⭐ | 低 | 源码泄露 | /api/download?file= |
| Druid 监控泄露 | ⭐⭐⭐ | 极低 | SQL 监控 + Session | /druid/index.html |
| Swagger 文档泄露 | ⭐⭐⭐ | 极低 | 全量 API 泄露 | /swagger-ui.html |
| XSS (存储型) | ⭐⭐⭐ | 低 | 钓鱼/管理员劫持 | /api/comment/add |
| 弱口令 / 默认密码 | ⭐⭐⭐ | 极低 | 直接登录后台 | /vsb/admin/ |
三、高危漏洞(P0-P1)
3.1 任意文件上传 → Getshell
风险:⭐ 最高危 — 可直接获取服务器权限
博达站群系统的模板管理、附件上传、站点备份恢复等功能模块,如果 API 未鉴权,攻击者可以直接上传 JSP/WAR 文件至可解析目录。
检测入口
1 | # 常见上传端点(需实际抓取或 JS 反编译确认) |
测试 PoC
curl 测试(Windows PowerShell 兼容):
1 | # 1. 尝试上传 JSP 木马 |
JSP 马内容示例:
1 | <% import="java.io.*"%> |
注意:实际路径需测试
/upload/、/vsb/upload/、/files/等常见可写可执行目录。
3.2 模板注入 / SSTI → RCE
风险:⭐ 极高 — 博达 VSB 有可视化模板设计模块
博达站群的核心功能之一是模板管理,支持可视化编辑 HTML 模板。如果模板保存/编辑 API 未鉴权,可通过模板引擎注入执行任意代码。
检测入口
1 | POST /api/template/save |
利用思路
博达基于 Java 技术栈,其模板引擎可能基于 FreeMarker、Velocity 或自定义引擎。SSTI 测试方式:
1 | # FreeMarker 测试 payload |
3.3 反序列化 → RCE
风险:⭐ 极高 — 影响面广
博达基于 Java 技术栈,如果系统使用了 Java 原生序列化协议(RMI/Hessian/Spring 协议),且 API 未鉴权,可触发反序列化 RCE。
检测入口
1 | POST /services/xxx (WebService 端点) |
利用思路
使用 ysoserial 生成 Payload:
1 | # 使用 ysoserial 检测 |
3.4 任意命令执行
风险:⭐ 极高
若 API 端点直接调用 Runtime.exec() 或脚本引擎执行用户输入,且未鉴权,可直接 RCE。
常见触发点
1 | # 博达系统可能存在系统命令调用接口 |
四、中高危漏洞(P1-P2)
4.1 敏感信息泄露
风险:中高危 — 常常是连锁攻击的第一步
API 未授权直接返回数据库连接信息、管理员账号、Bucket 凭据、密钥等敏感数据。
测试路径
1 | GET /api/config |
预期响应(JSON 格式)
1 | { |
4.2 水平越权(IDOR)
风险:中高危 — 跨站数据篡改/泄露
API 只验证了登录状态但未验证资源归属,通过遍历 ID 可操作其他站点的数据。
测试场景
1 | # 正常请求:查看 ID=1 的文章 |
利用链
- 遍历
siteId→ 发现隐藏站点(如内网管理站点) - 遍历
articleId→ 获取未公开敏感文章 - 修改他人文章 → 植入 XSS 或恶意内容
4.3 垂直越权 / 任意用户添加
风险:中高危 — 直接创建管理员
用户管理 API 未校验角色参数,普通权限或未登录即可创建管理员账号。
测试路径
1 | POST /api/user/add |
测试 PoC
1 | curl -X POST "http://target.com/api/user/add" ` |
4.4 任意密码重置
风险:中高危 — 接管管理员账号
密码重置 API 仅需学号/工号/邮箱即可重置,无二次验证。
测试路径
1 | POST /api/user/resetPassword |
4.5 SQL 注入
风险:中高危 — 可能导致后台登录绕过或数据泄露
API 参数直接拼接 SQL 语句,未做参数化处理。
测试入口
1 | GET /api/site/list?siteId=1 UNION SELECT ... |
4.6 Druid 监控未授权
风险:中高 — 博达站群常见配置
博达站群常集成阿里巴巴 Druid 数据库连接池。若未配置访问权限,可直接访问监控页。
测试路径
1 | /druid/index.html |
危害:通过 Session 泄露直接窃取管理员会话 → 获取后台权限。
4.7 Swagger API 文档泄露
风险:中高 — 全量 API 接口一览无余
若博达二次开发集成了 Swagger 且未关闭生产环境展示,可获取全套 API 接口。
测试路径
1 | /swagger-ui.html |
五、中危漏洞(P2-P3)
5.1 SSRF(服务端请求伪造)
风险:中等 — 可探测内网
API 中存在 URL 参数(站点导入/远程发布/RSS 抓取),未限制内网目标。
测试入口
1 | GET /api/import?url=http://127.0.0.1:8080/ |
利用
1 | # 探测内网存活 |
5.2 目录遍历 / 任意文件读取
风险:中等 — 可读取配置文件、源码
测试入口
1 | GET /api/download?file=../../../etc/passwd |
关键读取目标
1 | /WEB-INF/web.xml → 查看 Servlet 映射和配置 |
5.3 存储型 XSS
风险:中等 — 可劫持管理员会话
内容发布/评论/留言 API 未过滤 HTML,投稿中包含恶意脚本。
测试入口
1 | POST /api/comment/add → 留言 XSS |
5.4 弱口令 / 默认口令
风险:中等 — 直接登录后台
博达站群系统默认后台路径常为 /vsb/admin/,部分学校未修改默认密码。
常见默认口令
| 用户名 | 密码 | 说明 |
|---|---|---|
| admin | admin | 默认管理员 |
| admin | admin123 | 常见弱口令 |
| admin | 123456 | 常见弱口令 |
| root | root | 部分部署 |
| vsbadmin | vsbadmin | 系统管理 |
后台路径爆破
1 | # 常见后台路径 |
六、已知官方安全声明
| 声明内容 | 来源 |
|---|---|
| 博达网站群系列产品基于 Java 开发,但未使用 Struts/Struts2 框架,不受 Struts2 相关漏洞影响 | 博达官网安全声明 $TRAE_REF |
| 官方未公开披露过具体 CVE 漏洞编号(商业闭源) | 搜索引擎检索结果 |
| 博达通常通过版本迭代修复漏洞(VSB8 → VSB9 → 全媒体版) | 行业惯例 |
虽然没有公开的 CVE 列表,但博达作为商业闭源系统,其 API 鉴权的安全性完全依赖厂商代码质量。大量高校仍在使用老旧版本(如 VSB8、VSB9 早期版),这些版本很可能存在未修复的 API 未授权问题。
七、实战检测 Checklist
Phase 0:指纹确认
- 页面底部是否有
Powered by 博达网站群 - HTML 中是否包含
vsbclub或VSB - 是否存在
/vsb/admin/后台 - 响应头是否包含
X-Powered-By: VSB
Phase 1:信息收集
- Swagger 文档泄露检测:
/swagger-ui.html/v2/api-docs - Druid 监控未授权:
/druid/index.html - 敏感路径爆破:
/api//vsb/api//cms/api/ - JS 文件反编译:搜索
api/关键字
1 | # 快速 JS 反编译找 API |
Phase 2:未授权 API 检测
P0 级 — 文件上传:
-
POST /api/upload→ 上传 JSP 测试 -
POST /vsb/uploadFile→ 上传 JSP 测试 -
POST /cms/api/upload→ 上传 JSP 测试 -
POST /siteadmin/upload→ 上传 JSP 测试
P0 级 — 模板注入:
-
POST /api/template/save→ SSTI payload 测试 -
POST /api/template/edit→ SSTI payload 测试
P1 级 — 信息泄露:
-
GET /api/user/list→ 用户列表泄露 -
GET /api/config→ 系统配置泄露 -
GET /api/database→ 数据库配置泄露 -
GET /api/site/list→ 站点列表泄露
P1 级 — 用户管理:
-
POST /api/user/add?role=admin→ 添加管理员 -
POST /api/user/resetPassword→ 重置任意密码 -
POST /api/user/login→ SQL 注入测试
P1 级 — IDOR:
- 遍历
siteId=1,2,3...→ 跨站操作 - 遍历
articleId=1,2,3...→ 跨站数据获取
P2 级 — SSRF/目录遍历:
-
GET /api/import?url=http://内网IP→ SSRF -
GET /api/download?file=../../../etc/passwd→ 目录遍历
P3 级 — 弱口令:
-
admin/admin登录测试 -
admin/admin123登录测试 - 爆破
/vsb/admin/后台
Phase 3:深度利用
- 从 Druid Session 泄露窃取管理员会话
- 从信息泄露获取数据库凭证 → 连接数据库拖取后台账号
- 通过文件上传 Getshell → 提权
- 从 SSRF 向内网扩展攻击面
- 通过目录遍历下载全部源码 → 白盒审计更多漏洞
八、防御建议
8.1 对运维方
| 措施 | 说明 |
|---|---|
| 统一鉴权 | 所有 API 端点必须校验身份和权限,使用 Spring Security/Shiro 框架 |
| 关闭 Swagger | 生产环境禁用 Swagger 文档展示 |
| Druid 加访问控制 | /druid/* 路径限制内网或加登录验证 |
| 最小权限原则 | API 只返回必要字段,不暴露数据库/Session/密码信息 |
| API 网关 | 通过 Nginx/APISIX 统一管控 API 访问 |
| 及时升级 | 联系博达厂商获取最新版本补丁 |
| WAF 规则 | 对 /api/ 路径配置严格 ACL |
| 文件上传校验 | 白名单后缀 + 内容检测 + 不可执行目录存储 |
8.2 对测试方
| 原则 | 说明 |
|---|---|
| 合法授权 | 所有测试必须在授权范围内进行 |
| 不越红线 | 禁止 --dump 拖库、禁止 DDOS、禁止破坏性操作 |
| 最小化证据 | 信息泄露类仅截取必要凭证即可证明,不下载全量数据 |
| 及时报告 | 发现 API 未授权漏洞后及时提交至 SRC 或用户单位 |
附:查询脚本
批量检测脚本(PowerShell)
1 | # 博达CMS API未授权批量检测 |
免责声明:本文档仅供安全研究和授权测试使用。未经授权的 API 未授权访问检测可能构成违法行为,请严格遵守《网络安全法》及相关法律法规。