记对某系统的一次测试
字数 1391 2025-08-27 12:33:37

记对某系统的一次渗透测试 - 详细教学文档

1. 目标识别与初步分析

1.1 目标系统特征

  • 系统采用手机号作为登录凭证
  • 存在标准登录框界面
  • 管理员账户需要通过手机号登录

1.2 初始渗透思路评估

  1. 爆破管理员凭证
    • 需要先获取管理员手机号
    • 无手机号信息导致爆破不可行
  2. 密码找回逻辑漏洞
    • 需要知道管理员用户名/手机号
    • 信息收集不足导致此方法受限

2. 信息收集与目录扫描

2.1 目录扫描技术

  • 使用工具:未指定具体工具(推荐使用dirsearch、gobuster等)
  • 扫描目的:
    • 寻找备份源码文件(如.zip, .rar, .bak等)
    • 发现未授权访问目录
  • 结果:未发现可利用点

2.2 JavaScript文件分析

  • 方法:浏览器开发者工具(F12)审查网络请求和JS文件
  • 关键发现:
    • 用户列表接口(未授权访问)
    • 接口请求方法限制:初始GET请求被拒绝

3. 接口未授权访问漏洞利用

3.1 第一个接口测试

  1. 请求方法调整
    • 从GET改为POST
    • 观察响应变化
  2. 参数构造过程
    • 初始响应:请求参数缺失
    • 添加pageIndex参数
    • 后续响应:pageSize为空
    • 完整参数构造:
      POST /api/userList HTTP/1.1
      Host: target.com
      Content-Type: application/x-www-form-urlencoded
      
      pageIndex=1&pageSize=10
      
  3. 结果
    • 返回测试账号信息

3.2 扩大测试范围

  • 假设:一个接口存在未授权,其他接口可能同样存在
  • 发现第二个关键接口:
    • 路径:/bear-scale/mip/scaleSystemUser/getScaleSystemUserList.json
    • 使用相同参数构造方法
    • 返回数据:
      • 全站用户手机号
      • MD5加密的密码(默认密码"123456"的MD5)

3.3 管理员账户获取

  1. 继续寻找其他接口
  2. 发现返回管理员手机号的接口
  3. 结合已知信息:
    • 默认密码为"123456"
    • 使用管理员手机号+默认密码成功登录

4. 后续渗透尝试

4.1 文件上传测试

  • 发现上传接口
  • 防护措施:
    • 严格的白名单限制
    • 无法上传webshell

5. 技术要点总结

5.1 关键漏洞

  1. 未授权API访问
    • 多个接口未实施身份验证
    • 敏感数据暴露(用户手机号、密码哈希)
  2. 默认密码风险
    • 全站使用相同默认密码
    • MD5哈希易被破解

5.2 渗透技术链

  1. 信息收集不足时的替代方案
  2. JS文件分析寻找隐藏接口
  3. 接口参数逆向工程
  4. 默认凭证利用

5.3 防御建议

  1. API安全
    • 实施严格的权限控制
    • 敏感接口必须认证
  2. 密码策略
    • 禁止使用默认密码
    • 使用强哈希算法(如bcrypt)
  3. 安全开发
    • 避免敏感信息在客户端暴露
    • 实施最小权限原则

6. 渗透测试方法论

6.1 测试流程

  1. 目标识别 → 2. 表面测试 → 3. 深度信息收集 → 4. 漏洞发现 → 5. 漏洞利用 → 6. 权限提升 → 7. 后渗透

6.2 思维导图

开始
│
├─ 直接攻击(登录爆破) → 信息不足 → 放弃
│
├─ 密码找回测试 → 信息不足 → 放弃
│
└─ 间接攻击
   │
   ├─ 目录扫描 → 无结果
   │
   └─ JS分析
       │
       ├─ 发现未授权接口
       │   │
       │   ├─ 方法测试(GET/POST)
       │   │
       │   └─ 参数构造
       │
       └─ 获取凭证
           │
           ├─ 普通用户
           │
           └─ 管理员
               │
               └─ 默认密码利用

7. 工具与技术扩展

7.1 推荐工具

  1. 目录扫描
    • dirsearch
    • gobuster
    • ffuf
  2. JS分析
    • Burp Suite
    • Chrome开发者工具
    • LinkFinder
  3. 接口测试
    • Postman
    • curl
    • Burp Repeater

7.2 进阶技术

  1. JWT令牌分析
  2. API参数fuzzing
  3. 子域名枚举
  4. CORS/SOP配置检查

8. 法律与道德声明

  1. 渗透测试必须获得明确授权
  2. 未经授权的测试属于违法行为
  3. 发现漏洞应遵循负责任的披露流程
  4. 本文仅用于教育目的,演示已授权测试的技术方法
记对某系统的一次渗透测试 - 详细教学文档 1. 目标识别与初步分析 1.1 目标系统特征 系统采用手机号作为登录凭证 存在标准登录框界面 管理员账户需要通过手机号登录 1.2 初始渗透思路评估 爆破管理员凭证 : 需要先获取管理员手机号 无手机号信息导致爆破不可行 密码找回逻辑漏洞 : 需要知道管理员用户名/手机号 信息收集不足导致此方法受限 2. 信息收集与目录扫描 2.1 目录扫描技术 使用工具:未指定具体工具(推荐使用dirsearch、gobuster等) 扫描目的: 寻找备份源码文件(如.zip, .rar, .bak等) 发现未授权访问目录 结果:未发现可利用点 2.2 JavaScript文件分析 方法:浏览器开发者工具(F12)审查网络请求和JS文件 关键发现: 用户列表接口(未授权访问) 接口请求方法限制:初始GET请求被拒绝 3. 接口未授权访问漏洞利用 3.1 第一个接口测试 请求方法调整 : 从GET改为POST 观察响应变化 参数构造过程 : 初始响应: 请求参数缺失 添加 pageIndex 参数 后续响应: pageSize为空 完整参数构造: 结果 : 返回测试账号信息 3.2 扩大测试范围 假设:一个接口存在未授权,其他接口可能同样存在 发现第二个关键接口: 路径: /bear-scale/mip/scaleSystemUser/getScaleSystemUserList.json 使用相同参数构造方法 返回数据: 全站用户手机号 MD5加密的密码(默认密码"123456"的MD5) 3.3 管理员账户获取 继续寻找其他接口 发现返回管理员手机号的接口 结合已知信息: 默认密码为"123456" 使用管理员手机号+默认密码成功登录 4. 后续渗透尝试 4.1 文件上传测试 发现上传接口 防护措施: 严格的白名单限制 无法上传webshell 5. 技术要点总结 5.1 关键漏洞 未授权API访问 : 多个接口未实施身份验证 敏感数据暴露(用户手机号、密码哈希) 默认密码风险 : 全站使用相同默认密码 MD5哈希易被破解 5.2 渗透技术链 信息收集不足时的替代方案 JS文件分析寻找隐藏接口 接口参数逆向工程 默认凭证利用 5.3 防御建议 API安全 : 实施严格的权限控制 敏感接口必须认证 密码策略 : 禁止使用默认密码 使用强哈希算法(如bcrypt) 安全开发 : 避免敏感信息在客户端暴露 实施最小权限原则 6. 渗透测试方法论 6.1 测试流程 目标识别 → 2. 表面测试 → 3. 深度信息收集 → 4. 漏洞发现 → 5. 漏洞利用 → 6. 权限提升 → 7. 后渗透 6.2 思维导图 7. 工具与技术扩展 7.1 推荐工具 目录扫描 : dirsearch gobuster ffuf JS分析 : Burp Suite Chrome开发者工具 LinkFinder 接口测试 : Postman curl Burp Repeater 7.2 进阶技术 JWT令牌分析 API参数fuzzing 子域名枚举 CORS/SOP配置检查 8. 法律与道德声明 渗透测试必须获得明确授权 未经授权的测试属于违法行为 发现漏洞应遵循负责任的披露流程 本文仅用于教育目的,演示已授权测试的技术方法