记一次某SRC挖掘
字数 1507 2025-08-19 12:41:32
SRC挖掘实战教学:从弱口令到管理员权限获取
一、目标系统概述
目标系统是一个教育平台,具有以下特征:
- 包含登录、证书查询等功能的Web应用
- 采用高强度密码策略(特殊符号+大小写字母+数字,长度>8)
- 用户注册需要管理员审核
- 默认用户名格式为手机号码
- 存在操作手册和技术支持QQ群
二、渗透测试流程详解
1. 初始信息收集
1.1 弱口令测试
- 尝试常见弱口令组合
- 发现密码采用非标准加密(类似但不同于Base64)
- 爆破尝试未获成功
1.2 注册功能测试
- 测试XSS和SQL注入漏洞(未发现)
- 确认注册需要管理员审核(无法即时获得账号)
- 确认高强度密码策略使爆破难度增大
2. 信息泄露利用
2.1 操作手册分析
- 发现默认用户名格式:手机号码
- 获取默认密码格式:
XXXX+电话/身份证后6位+XXXX - 发现技术支持QQ群信息
2.2 加入内部QQ群
- 通过群聊天记录获取更多默认密码格式细节
- 发现已登录用户均已修改默认密码
- 获取部分用户手机号信息
3. 账号获取技术
3.1 Google语法信息收集
site:学校域名 教师 电话
- 收集教师电话号码作为潜在用户名
- 结合已知密码格式进行登录尝试
3.2 成功登录
- 使用收集的电话号码+密码格式组合FUZZ
- 成功获取普通用户权限
- 系统要求修改默认密码才能使用完整功能
4. 权限提升技术
4.1 信息泄露漏洞
- 通过完善资料功能发现越权漏洞
- 输入用户名可获取:ID、姓名、电话、身份证等敏感信息
- 但需要预先知道有效用户名
4.2 密码修改接口分析
通过JS审计发现三个相关接口:
- 需要短信验证码的默认密码修改接口(无法绕过)
- 仅允许修改自己密码的接口
- 权限不足的接口(潜在提权点)
4.3 密码修改绕过
- 确认第二个接口需要
username参数 - 通过越权获取的username参数成功修改密码
- 重新登录后获得完整普通用户功能
5. 大规模信息泄露
5.1 接口测试发现
- 存在可越权访问的接口
- 发现泄露全校教师信息的接口链:
- 通过接口获取学校key值
- 使用key通过user接口获取在校职工信息
- 发现MySQL数据库凭证(但端口未开放)
6. 管理员权限获取
6.1 在线用户监控
- 通过某接口获取在线用户列表
- 包含token、用户名等敏感信息
6.2 任意密码重置
- 利用之前发现的"权限不足"密码修改接口
- 使用管理员token重置密码
- 关键点:重置判定基于用户ID
6.3 管理员功能获取
三种方案:
- 通过用户创建接口直接创建管理员
- 通过用户编辑接口提升普通用户权限
- 使用管理员token获取功能
选择方案3实施:
- 替换Permission接口返回包(普通用户几千字节,管理员上万字节)
- 使用ModHeader插件维持token有效性
- 成功获取管理员页面和功能
三、关键渗透技巧总结
-
信息收集多元化:
- 不仅限于技术手段,包括操作手册、QQ群等非传统渠道
- Google语法:
site:域名 关键词、网站名 + 群等
-
JS审计重要性:
- 发现隐藏接口和功能
- 分析参数结构和验证逻辑
-
权限提升思路:
- 从信息泄露到越权访问
- 从普通用户到管理员的多层次提权
-
工具使用技巧:
- ModHeader插件维持会话
- 接口返回包分析与替换
-
社会工程学应用:
- 通过内部群组获取敏感信息
- 了解目标组织结构和运作方式
四、防御建议
- 加强默认密码策略,避免格式泄露
- 严格限制接口权限,避免信息泄露
- 实施完善的token验证机制
- 对敏感操作增加多因素认证
- 定期审计前端代码,避免接口暴露
- 加强内部群组信息安全管理
通过本案例可见,现代Web应用渗透需要结合技术手段和社会工程学,从多个维度收集信息并寻找突破口。