对某cms精彩刺激的黑盒渗透测试
字数 1865 2025-08-15 21:30:23

CMS黑盒渗透测试实战教学文档

1. 测试目标概述

本次渗透测试针对一款常用于网络商城站点的CMS系统,发现了四个关键漏洞:未授权访问、IDOR(平行越权)、密码重置漏洞以及XSS+文件写入Getshell组合漏洞。

2. 漏洞1:未授权访问

2.1 测试步骤

  1. 初始信息收集

    • 首先检查robots.txt文件(常见路径),但返回404,表明未部署
  2. 目录扫描

    • 使用御剑扫描工具发现敏感路径:/admin/editoradmin/upload.asp
  3. 漏洞验证

    • 直接访问该URL,确认无需认证即可访问
    • 可对目录内容进行下载、删除等敏感操作
    • 该目录存放网站配置文件(主要是图片文件)

2.2 漏洞原理

  • 后台管理目录未设置访问权限控制
  • 敏感功能未进行身份验证

2.3 修复建议

  • 对后台管理目录设置严格的访问控制
  • 实现身份验证机制
  • 敏感操作需进行权限校验

3. 漏洞2:平行越权(IDOR)

3.1 测试环境准备

  • 注册两个测试账号:
    • A账号:username(攻击者)
    • B账号:username1(受害者)

3.2 测试步骤

  1. 使用A账号登录,进入会员管理页面
  2. 点击"修改密码"并用Burp拦截请求
  3. 观察请求参数:username=username
  4. 修改参数为username=username1(B账号)
  5. 发送修改后的请求
  6. 成功越权修改B账号密码

3.3 漏洞原理

  • 后端仅依赖前端提交的用户名参数进行身份识别
  • 未校验当前会话用户与修改目标的匹配关系

3.4 修复建议

  • 修改密码时应校验会话中的用户身份
  • 禁止通过参数直接指定修改目标
  • 实施CSRF防护措施

4. 漏洞3:密码重置漏洞

4.1 密码重置流程

  1. 输入用户名
  2. 验证密保答案
  3. 输入新密码

4.2 测试步骤

  1. 使用A账号(username)发起密码重置
  2. 输入正确的密保答案(11111111)
  3. 在重置密码步骤拦截请求(Burp)
  4. 观察请求头和Referer中的参数:usernam=username
  5. 修改为username=username1(B账号)
  6. 发送请求,成功重置B账号密码
  7. 验证:使用新密码(123456789)成功登录B账号

4.3 漏洞原理

  • 密码重置流程仅在前端进行身份验证
  • 后端未校验重置令牌与目标用户的关联性
  • 关键参数可通过请求修改

4.4 修复建议

  • 重置密码时应绑定会话与目标用户
  • 使用一次性令牌机制
  • 后端严格校验各步骤的连续性

5. 漏洞4:XSS+文件写入Getshell

5.1 反射型XSS漏洞

  1. 发现位置:网站搜索模块
  2. Payload:`` 成功弹窗
  3. 利用方式
    • 构造XSS平台POC
    • 通过网站留言功能发送到后台
    • 等待管理员访问获取cookie

5.2 文件写入Getshell

  1. 后台功能利用

    • 使用获取的管理员cookie进入后台
    • 发现数据库备份功能
  2. 写入Webshell

    • 发布新文章,内容为数据库备份专用一句话:攠攠數畣畣整爠爠煥煥敵瑳瑳∨∨≡愾愾
    • 执行数据库备份操作
    • 获取备份文件地址(包含Webshell)
    • 使用XISE连接成功获取Webshell

5.3 漏洞原理

  • 搜索功能未对用户输入进行过滤
  • 后台数据库备份功能未校验文件内容
  • 备份文件可被直接访问执行

5.4 修复建议

  • 对所有用户输入进行严格过滤
  • 实现CSRF防护机制
  • 数据库备份功能应限制文件类型和内容
  • 备份文件不应保存在web可访问目录

6. 总结与防护建议

6.1 漏洞共性

  • 过度信任客户端提交的参数
  • 缺乏完整的权限验证机制
  • 关键功能未实施安全防护

6.2 全面防护措施

  1. 输入验证

    • 实施白名单机制过滤所有用户输入
    • 对特殊字符进行转义处理
  2. 权限控制

    • 实施最小权限原则
    • 关键操作需二次验证
    • 会话管理加强
  3. 安全开发

    • 遵循安全编码规范
    • 定期进行安全审计
    • 实施安全开发生命周期(SDL)
  4. 运维防护

    • 定期更新系统补丁
    • 实施WAF防护
    • 日志监控与审计

7. 测试方法论

  1. 信息收集阶段:robots.txt检查、目录扫描
  2. 功能测试阶段:逐项测试各功能模块
  3. 权限测试:水平越权、垂直越权测试
  4. 输入验证:XSS、SQL注入等测试
  5. 组合漏洞利用:多漏洞串联利用

8. 工具推荐

  1. 目录扫描:御剑、DirBuster
  2. 代理工具:Burp Suite、Fiddler
  3. XSS利用:XSS平台、BeEF
  4. Webshell管理:中国菜刀、XISE

9. 法律与道德提醒

  • 所有测试必须获得授权
  • 不得利用漏洞进行非法操作
  • 发现漏洞应及时报告
  • 遵守网络安全法律法规
CMS黑盒渗透测试实战教学文档 1. 测试目标概述 本次渗透测试针对一款常用于网络商城站点的CMS系统,发现了四个关键漏洞:未授权访问、IDOR(平行越权)、密码重置漏洞以及XSS+文件写入Getshell组合漏洞。 2. 漏洞1:未授权访问 2.1 测试步骤 初始信息收集 : 首先检查 robots.txt 文件(常见路径),但返回404,表明未部署 目录扫描 : 使用御剑扫描工具发现敏感路径: /admin/editoradmin/upload.asp 漏洞验证 : 直接访问该URL,确认无需认证即可访问 可对目录内容进行下载、删除等敏感操作 该目录存放网站配置文件(主要是图片文件) 2.2 漏洞原理 后台管理目录未设置访问权限控制 敏感功能未进行身份验证 2.3 修复建议 对后台管理目录设置严格的访问控制 实现身份验证机制 敏感操作需进行权限校验 3. 漏洞2:平行越权(IDOR) 3.1 测试环境准备 注册两个测试账号: A账号:username(攻击者) B账号:username1(受害者) 3.2 测试步骤 使用A账号登录,进入会员管理页面 点击"修改密码"并用Burp拦截请求 观察请求参数: username=username 修改参数为 username=username1 (B账号) 发送修改后的请求 成功越权修改B账号密码 3.3 漏洞原理 后端仅依赖前端提交的用户名参数进行身份识别 未校验当前会话用户与修改目标的匹配关系 3.4 修复建议 修改密码时应校验会话中的用户身份 禁止通过参数直接指定修改目标 实施CSRF防护措施 4. 漏洞3:密码重置漏洞 4.1 密码重置流程 输入用户名 验证密保答案 输入新密码 4.2 测试步骤 使用A账号(username)发起密码重置 输入正确的密保答案(11111111) 在重置密码步骤拦截请求(Burp) 观察请求头和Referer中的参数: usernam=username 修改为 username=username1 (B账号) 发送请求,成功重置B账号密码 验证:使用新密码(123456789)成功登录B账号 4.3 漏洞原理 密码重置流程仅在前端进行身份验证 后端未校验重置令牌与目标用户的关联性 关键参数可通过请求修改 4.4 修复建议 重置密码时应绑定会话与目标用户 使用一次性令牌机制 后端严格校验各步骤的连续性 5. 漏洞4:XSS+文件写入Getshell 5.1 反射型XSS漏洞 发现位置 :网站搜索模块 Payload : `` 成功弹窗 利用方式 : 构造XSS平台POC 通过网站留言功能发送到后台 等待管理员访问获取cookie 5.2 文件写入Getshell 后台功能利用 : 使用获取的管理员cookie进入后台 发现数据库备份功能 写入Webshell : 发布新文章,内容为数据库备份专用一句话: 攠攠數畣畣整爠爠煥煥敵瑳瑳∨∨≡愾愾 执行数据库备份操作 获取备份文件地址(包含Webshell) 使用XISE连接成功获取Webshell 5.3 漏洞原理 搜索功能未对用户输入进行过滤 后台数据库备份功能未校验文件内容 备份文件可被直接访问执行 5.4 修复建议 对所有用户输入进行严格过滤 实现CSRF防护机制 数据库备份功能应限制文件类型和内容 备份文件不应保存在web可访问目录 6. 总结与防护建议 6.1 漏洞共性 过度信任客户端提交的参数 缺乏完整的权限验证机制 关键功能未实施安全防护 6.2 全面防护措施 输入验证 : 实施白名单机制过滤所有用户输入 对特殊字符进行转义处理 权限控制 : 实施最小权限原则 关键操作需二次验证 会话管理加强 安全开发 : 遵循安全编码规范 定期进行安全审计 实施安全开发生命周期(SDL) 运维防护 : 定期更新系统补丁 实施WAF防护 日志监控与审计 7. 测试方法论 信息收集阶段:robots.txt检查、目录扫描 功能测试阶段:逐项测试各功能模块 权限测试:水平越权、垂直越权测试 输入验证:XSS、SQL注入等测试 组合漏洞利用:多漏洞串联利用 8. 工具推荐 目录扫描:御剑、DirBuster 代理工具:Burp Suite、Fiddler XSS利用:XSS平台、BeEF Webshell管理:中国菜刀、XISE 9. 法律与道德提醒 所有测试必须获得授权 不得利用漏洞进行非法操作 发现漏洞应及时报告 遵守网络安全法律法规