记一次证书站的漏洞挖掘
字数 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 越权验证步骤
- 账号A创建地址,获取ID(如2284)
- 账号B创建地址,获取ID(如2285)
- 使用账号B修改账号A的地址ID
- 验证修改结果
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 漏洞链构建
- 信息泄露 → 获取身份证号
- 默认密码登录 → 获得系统访问权
- 越权漏洞 → 扩大影响范围
- XSS漏洞 → 提升漏洞等级
4.2 风险评估
- 单个低危漏洞威力有限
- 组合利用形成中危漏洞
- 实现从信息泄露到系统控制的完整攻击链
5. 技术要点总结
5.1 渗透测试方法论
- 大胆猜测:不局限于表面功能,推测隐藏接口
- 细心实践:每个猜测都要通过实际测试验证
- 链条思维:将分散的漏洞点连接成攻击路径
5.2 关键检测技巧
- 参数篡改测试:系统枚举可见选项外的参数值
- 权限绕过验证:横向越权检测方法
- 输入验证绕过:特殊字符处理技巧
5.3 防御建议
- 后端接口必须进行严格的权限校验
- 默认密码策略需要强制修改
- 输入输出需要充分的过滤和转义
- 测试接口应及时清理或保护
6. 实战经验总结
6.1 成功要素
- 全面的信息搜集是基础
- 对小程序生态的针对性测试
- 漏洞组合利用的创新思维
6.2 避免的误区
- 不要局限于Web端测试
- 不要忽视"荒废"系统的重要性
- 不要满足于单个低危漏洞的发现
本教学文档详细记录了从信息搜集到漏洞利用的完整过程,重点强调了漏洞挖掘的思路和方法论,为渗透测试人员提供了可复用的实战经验。