记一次证书站的漏洞挖掘
字数 1354 2025-11-25 12:01:36

渗透测试实战:证书站漏洞挖掘教学文档

1. 信息搜集阶段

1.1 谷歌黑语法应用

  • 使用特定搜索语法定位目标学校相关敏感信息
  • 成功获取学生学号及姓名信息
  • 关键点:即使只有基础信息(学号+姓名)也足够作为后续渗透的基础

1.2 信息价值评估

  • 学号和姓名的组合虽然看似简单,但在特定场景下具有高利用价值
  • 为后续的小程序测试提供了身份凭证基础

2. 小程序渗透测试

2.1 目标定位策略

  • 通过微信"搜一搜"功能定位学校官方小程序
  • 采用逐个测试方法,全面覆盖所有相关小程序

2.2 电子票据模块漏洞挖掘

2.2.1 信息泄露漏洞发现

  • 表面提供三种查询方式(对应参数值1,2,3)
  • 实际测试发现存在隐藏的第四种查询方式(参数值4)

2.2.2 漏洞利用过程

请求参数分析:

  • billtype:功能参数,修改无影响
  • payeridtype:查询方式标识(关键参数)
  • 其他参数:用户输入信息

绕过方法:

  • 将payeridtype参数值修改为4
  • 配合学号信息进行查询
  • 成功获取学生身份证号等敏感信息

2.2.3 漏洞特征

  • 前端限制被绕过
  • 后端接口未做充分校验
  • 开发测试遗留接口未删除

3. 订餐小程序深度测试

3.1 登录漏洞挖掘

  • 发现默认密码漏洞:身份证后6位
  • 利用前期获取的身份证信息成功登录
  • 证明信息链条的重要性

3.2 越权漏洞测试

3.2.1 地址编辑功能分析

  • 通过ID参数标识用户地址
  • 未进行权限验证

3.2.2 越权验证步骤

  1. 账号A创建地址,获取ID(如2284)
  2. 账号B创建地址,获取ID(如2285)
  3. 使用账号B修改账号A的地址ID
  4. 验证修改结果

3.2.3 漏洞确认

  • 成功跨账号修改地址信息
  • 存在横向越权漏洞

3.3 XSS漏洞挖掘

3.3.1 攻击向量选择

  • 利用地址编辑功能中的输入字段
  • 插入恶意JavaScript代码

3.3.2 payload构造

`"><script>alert('XSS')</script>`
  • 使用反引号转义引号
  • 确保代码正确执行

3.3.3 漏洞验证

  • 存储型XSS成功触发
  • 用户交互时执行恶意代码

4. 漏洞组合利用策略

4.1 漏洞链构建

  1. 信息泄露 → 获取身份证号
  2. 默认密码登录 → 获得系统访问权
  3. 越权漏洞 → 扩大影响范围
  4. XSS漏洞 → 提升漏洞等级

4.2 风险评估

  • 单个低危漏洞威力有限
  • 组合利用形成中危漏洞
  • 实现从信息泄露到系统控制的完整攻击链

5. 技术要点总结

5.1 渗透测试方法论

  • 大胆猜测:不局限于表面功能,推测隐藏接口
  • 细心实践:每个猜测都要通过实际测试验证
  • 链条思维:将分散的漏洞点连接成攻击路径

5.2 关键检测技巧

  1. 参数篡改测试:系统枚举可见选项外的参数值
  2. 权限绕过验证:横向越权检测方法
  3. 输入验证绕过:特殊字符处理技巧

5.3 防御建议

  • 后端接口必须进行严格的权限校验
  • 默认密码策略需要强制修改
  • 输入输出需要充分的过滤和转义
  • 测试接口应及时清理或保护

6. 实战经验总结

6.1 成功要素

  • 全面的信息搜集是基础
  • 对小程序生态的针对性测试
  • 漏洞组合利用的创新思维

6.2 避免的误区

  • 不要局限于Web端测试
  • 不要忽视"荒废"系统的重要性
  • 不要满足于单个低危漏洞的发现

本教学文档详细记录了从信息搜集到漏洞利用的完整过程,重点强调了漏洞挖掘的思路和方法论,为渗透测试人员提供了可复用的实战经验。

渗透测试实战:证书站漏洞挖掘教学文档 1. 信息搜集阶段 1.1 谷歌黑语法应用 使用特定搜索语法定位目标学校相关敏感信息 成功获取学生学号及姓名信息 关键点:即使只有基础信息(学号+姓名)也足够作为后续渗透的基础 1.2 信息价值评估 学号和姓名的组合虽然看似简单,但在特定场景下具有高利用价值 为后续的小程序测试提供了身份凭证基础 2. 小程序渗透测试 2.1 目标定位策略 通过微信"搜一搜"功能定位学校官方小程序 采用逐个测试方法,全面覆盖所有相关小程序 2.2 电子票据模块漏洞挖掘 2.2.1 信息泄露漏洞发现 表面提供三种查询方式(对应参数值1,2,3) 实际测试发现存在隐藏的第四种查询方式(参数值4) 2.2.2 漏洞利用过程 请求参数分析: billtype:功能参数,修改无影响 payeridtype:查询方式标识(关键参数) 其他参数:用户输入信息 绕过方法: 将payeridtype参数值修改为4 配合学号信息进行查询 成功获取学生身份证号等敏感信息 2.2.3 漏洞特征 前端限制被绕过 后端接口未做充分校验 开发测试遗留接口未删除 3. 订餐小程序深度测试 3.1 登录漏洞挖掘 发现默认密码漏洞:身份证后6位 利用前期获取的身份证信息成功登录 证明信息链条的重要性 3.2 越权漏洞测试 3.2.1 地址编辑功能分析 通过ID参数标识用户地址 未进行权限验证 3.2.2 越权验证步骤 账号A创建地址,获取ID(如2284) 账号B创建地址,获取ID(如2285) 使用账号B修改账号A的地址ID 验证修改结果 3.2.3 漏洞确认 成功跨账号修改地址信息 存在横向越权漏洞 3.3 XSS漏洞挖掘 3.3.1 攻击向量选择 利用地址编辑功能中的输入字段 插入恶意JavaScript代码 3.3.2 payload构造 使用反引号转义引号 确保代码正确执行 3.3.3 漏洞验证 存储型XSS成功触发 用户交互时执行恶意代码 4. 漏洞组合利用策略 4.1 漏洞链构建 信息泄露 → 获取身份证号 默认密码登录 → 获得系统访问权 越权漏洞 → 扩大影响范围 XSS漏洞 → 提升漏洞等级 4.2 风险评估 单个低危漏洞威力有限 组合利用形成中危漏洞 实现从信息泄露到系统控制的完整攻击链 5. 技术要点总结 5.1 渗透测试方法论 大胆猜测 :不局限于表面功能,推测隐藏接口 细心实践 :每个猜测都要通过实际测试验证 链条思维 :将分散的漏洞点连接成攻击路径 5.2 关键检测技巧 参数篡改测试 :系统枚举可见选项外的参数值 权限绕过验证 :横向越权检测方法 输入验证绕过 :特殊字符处理技巧 5.3 防御建议 后端接口必须进行严格的权限校验 默认密码策略需要强制修改 输入输出需要充分的过滤和转义 测试接口应及时清理或保护 6. 实战经验总结 6.1 成功要素 全面的信息搜集是基础 对小程序生态的针对性测试 漏洞组合利用的创新思维 6.2 避免的误区 不要局限于Web端测试 不要忽视"荒废"系统的重要性 不要满足于单个低危漏洞的发现 本教学文档详细记录了从信息搜集到漏洞利用的完整过程,重点强调了漏洞挖掘的思路和方法论,为渗透测试人员提供了可复用的实战经验。