某门户系统授权渗透测试
字数 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 利用步骤

  1. 登录普通管理员后台
  2. 通过任意文件读取获取 SecretKey
  3. 使用远程模板下载功能
  4. 构造恶意模板文件并远程下载执行

7. 后渗透操作

  • 后台存在任意文件下载功能
  • 文件下载 URL 也需要 SecretKey 加密
  • 已获取 WebShell 权限

8. 安全建议

8.1 对开发者的建议

  • 修改默认 SecretKey 值
  • 修复任意文件读取漏洞
  • 加强后台认证机制
  • 实现验证码刷新机制
  • 限制文件操作权限

8.2 对渗透测试者的建议

  • 全面测试每个功能点
  • 仔细检查返回包中的敏感信息
  • 尝试多种用户名生成策略
  • 结合已知漏洞进行测试

9. 参考资源

  1. SiteServer CMS 远程下载 GetShell 漏洞详情:
    https://github.com/zhaoweiho/SiteServer-CMS-Remote-download-Getshell

  2. Burp Suite 敏感信息标记插件:
    https://www.freebuf.com/column/198792.html

  3. Tide 安全团队官网:
    http://www.TideSec.com

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