某门户系统授权渗透测试
字数 1370 2025-08-15 21:30:36
SiteServer CMS 渗透测试实战教学文档
1. 目标系统概述
目标系统使用 SiteServer CMS 进行改版开发,版本为 6.X(通过 version.txt 确认)。SiteServer 是一款基于 ASP.NET 的内容管理系统,存在已知的安全漏洞。
2. 信息收集阶段
2.1 基础信息收集
- 通过域名获取 IP 地址
- 使用 nmap 进行端口扫描,发现开放端口:
- 21 (FTP)
- 3389 (RDP)
- 尝试爆破 FTP 和 RDP 未成功
2.2 Web 应用扫描
- 发现管理路径
/admin为后台管理界面 - 验证码不刷新,可尝试爆破但未成功
- 发现 version.txt 文件,确认系统版本
3. 敏感信息泄露利用
3.1 敏感数据发现
- 在 Burp Suite 返回包中发现可疑信息
- 修改请求中的页面大小参数可显示所有信件内容
- 使用 Burp 插件自动标记敏感信息(推荐使用年华开发的插件)
3.2 后台凭证获取
- 从网站文档中发现管理员账户设置为
admin - 确认系统为 SiteServer 二次开发
4. 后台爆破与登录
4.1 爆破策略
- 初始爆破 admin 账户未成功
- 尝试使用单位拼音、缩写组合作为用户名
- 使用弱密码字典(3K 弱密码)成功爆破
4.2 后台功能测试
- 发现使用 UEditor 编辑器
- 尝试 UEditor 远程图片解析 GetShell 未成功
- 测试文章发布页面的文件上传功能
- 尝试各种 WebShell 上传方式未成功
5. 任意文件读取漏洞
5.1 漏洞发现
- 在文件选择功能中发现路径遍历漏洞
- 通过修改 URL 中的路径参数可遍历目录结构
- 可查看 web.config 文件内容
5.2 关键信息获取
- 从 web.config 中读取 SecretKey 值
- SecretKey 用于 SiteServer 的远程模板下载功能加密
6. 远程模板下载 GetShell
6.1 漏洞利用条件
- 普通管理员权限
- 获取 SecretKey 值
- 系统版本确认(5.0 使用默认值,6.X 从 web.config 获取)
6.2 利用步骤
- 登录普通管理员后台
- 通过任意文件读取获取 SecretKey
- 使用远程模板下载功能
- 构造恶意模板文件并远程下载执行
7. 后渗透操作
- 后台存在任意文件下载功能
- 文件下载 URL 也需要 SecretKey 加密
- 已获取 WebShell 权限
8. 安全建议
8.1 对开发者的建议
- 修改默认 SecretKey 值
- 修复任意文件读取漏洞
- 加强后台认证机制
- 实现验证码刷新机制
- 限制文件操作权限
8.2 对渗透测试者的建议
- 全面测试每个功能点
- 仔细检查返回包中的敏感信息
- 尝试多种用户名生成策略
- 结合已知漏洞进行测试
9. 参考资源
-
SiteServer CMS 远程下载 GetShell 漏洞详情:
https://github.com/zhaoweiho/SiteServer-CMS-Remote-download-Getshell -
Burp Suite 敏感信息标记插件:
https://www.freebuf.com/column/198792.html -
Tide 安全团队官网:
http://www.TideSec.com