记一次登录框0-1渗透突破
字数 1806 2025-11-13 12:09:13

登录框渗透突破实战教学文档

1. 信息收集与前期分析

1.1 技术栈识别

  • 通过域名中的"#"符号和Wappalyzer插件识别出Vue.js前端框架
  • 检测到Webpack打包器特征
  • 前后端分离架构:前端展示域名(a.com)与后端服务域名(api-xxxxxx.com)分离

1.2 渗透思路规划

主线任务:进入管理员后台
支线任务:信息泄露或其他危害性漏洞

主要渗透方向:

  1. 常规接口未授权访问测试
  2. 路径拼接探测未授权页面
  3. 收集全量chunk异步JS文件通过正则提取接口

2. 登录框基础测试

2.1 用户名枚举

  • 发现系统存在用户名枚举漏洞
  • 确认admin用户存在但可能非实际使用账号
  • 常见情况:系统可能使用其他账号作为管理员

2.2 密码爆破策略

  • 使用TOP3000密码字典进行爆破
  • 考虑admin用户可能仅为默认账号,实际使用其他管理员账号
  • 弱口令测试作为基础手段持续进行

2.3 特殊 payload 测试

  • 单双引号测试:观察回显差异
  • 万能密码测试:常规登录绕过尝试
  • 结果:均无效,转入接口测试阶段

3. 接口测试与未授权探测

3.1 接口识别与定位

  • 使用雪瞳接口捕获工具获取完整接口路径
  • 确认接口应放置于后端服务域名(b.com)进行测试
  • 注意前后端分离架构下的接口调用路径

3.2 GET请求测试

  • 直接拼接接口路径进行未授权访问测试
  • 观察响应码和回显信息
  • 500错误且提示"请先登录"表明接口路径正确但存在鉴权

3.3 POST请求测试

  • 测试JSON格式的POST请求
  • Content-Type: application/json
  • 同样受到500鉴权拦截
  • 对服务域名接口进行简单Fuzz无果

4. Vue路由页面测试

4.1 哈希路由探测

  • 使用VueCrack插件主动拼接路由页面
  • 逐个访问路由页面并监控Burp Suite流量
  • 记录所有触发的接口调用

4.2 功能点测试

  • /userAccount:测试搜索功能注入漏洞
  • 排序功能处测试order by注入
  • 注册功能发现:/#/register可正常调用
  • 成功注册获得低权限JWT令牌

4.3 JWT利用

  • 携带获得的JWT测试接口未授权
  • 即使账号未被系统完全认可,JWT仍可能具有部分权限
  • 测试GET/POST请求的差异响应

5. 接口深度测试与信息泄露

5.1 基础接口测试

  • GET /student/export:返回学生敏感信息
  • 参数替换测试:/teacher/export获取教职工信息
  • 表格中包含工号等敏感信息

5.2 分页参数利用

  • 发现接口使用pageNumpageSize分页参数
  • 在已有接口基础上添加分页参数:
/plan/task/manager/list/export?pageNum=1&pageSize=99
  • 泄露3000+学生二要素信息
  • /online/card/manage/list:获取校园列表信息

5.3 用户名枚举确认

  • 系统账号大概率使用手机号
  • 使用泄露的手机号进行密码喷洒攻击
  • 反馈"密码不正确"确认用户名枚举漏洞

6. 相对路径接口发现

6.1 接口提取方法

  • 插件匹配接口不完整问题
  • 完整方法:提取所有加载和未加载的异步JS
  • 使用正则表达式批量提取接口

6.2 相对路径接口识别

  • 发现/role/register接口未被插件识别
  • 原因为前置缺少/,被识别为相对路径
  • 全局搜索发现完整接口路径

6.3 相对路径接口测试

  • 在相对路径前添加/转换为绝对路径
  • 携带JWT和分页参数进行测试:
GET /**xxxxxxx**?pageNum=1&pageSize=99
  • 获取大量内部资源信息泄露

7. 突破与权限提升

7.1 信息组合利用

  • 分析泄露的人员信息列表
  • 发现医学生课题研究等敏感数据
  • 找到管理员账号特征

7.2 最终突破

  • 发现管理员账号:m01
  • 弱口令测试成功:abc123
  • 顺利进入管理员后台

8. 技术要点总结

8.1 关键成功因素

  1. 细致的信息收集和技术栈识别
  2. 前后端分离架构的正确理解
  3. 分页参数的巧妙利用
  4. 相对路径接口的发现和转换
  5. 持续的信息泄露挖掘

8.2 渗透方法论

  • 多层测试:从基础登录测试到深度接口探测
  • 流量分析:持续监控Burp Suite记录
  • 参数变异:已知参数的不同组合测试
  • 权限提升:从低权限JWT到管理员权限的渐进

8.3 防御建议

  1. 统一接口鉴权机制
  2. 分页接口的数据权限控制
  3. 敏感信息脱敏处理
  4. 强密码策略实施
  5. 接口路径规范化管理

本教学文档详细记录了从信息收集到最终突破的完整过程,强调了细心和连贯的测试思路在渗透测试中的重要性。

登录框渗透突破实战教学文档 1. 信息收集与前期分析 1.1 技术栈识别 通过域名中的"#"符号和Wappalyzer插件识别出Vue.js前端框架 检测到Webpack打包器特征 前后端分离架构:前端展示域名(a.com)与后端服务域名(api-xxxxxx.com)分离 1.2 渗透思路规划 主线任务:进入管理员后台 支线任务:信息泄露或其他危害性漏洞 主要渗透方向: 常规接口未授权访问测试 路径拼接探测未授权页面 收集全量chunk异步JS文件通过正则提取接口 2. 登录框基础测试 2.1 用户名枚举 发现系统存在用户名枚举漏洞 确认admin用户存在但可能非实际使用账号 常见情况:系统可能使用其他账号作为管理员 2.2 密码爆破策略 使用TOP3000密码字典进行爆破 考虑admin用户可能仅为默认账号,实际使用其他管理员账号 弱口令测试作为基础手段持续进行 2.3 特殊 payload 测试 单双引号测试:观察回显差异 万能密码测试:常规登录绕过尝试 结果:均无效,转入接口测试阶段 3. 接口测试与未授权探测 3.1 接口识别与定位 使用雪瞳接口捕获工具获取完整接口路径 确认接口应放置于后端服务域名(b.com)进行测试 注意前后端分离架构下的接口调用路径 3.2 GET请求测试 直接拼接接口路径进行未授权访问测试 观察响应码和回显信息 500错误且提示"请先登录"表明接口路径正确但存在鉴权 3.3 POST请求测试 测试JSON格式的POST请求 Content-Type: application/json 同样受到500鉴权拦截 对服务域名接口进行简单Fuzz无果 4. Vue路由页面测试 4.1 哈希路由探测 使用VueCrack插件主动拼接路由页面 逐个访问路由页面并监控Burp Suite流量 记录所有触发的接口调用 4.2 功能点测试 /userAccount :测试搜索功能注入漏洞 排序功能处测试order by注入 注册功能发现: /#/register 可正常调用 成功注册获得低权限JWT令牌 4.3 JWT利用 携带获得的JWT测试接口未授权 即使账号未被系统完全认可,JWT仍可能具有部分权限 测试GET/POST请求的差异响应 5. 接口深度测试与信息泄露 5.1 基础接口测试 GET /student/export :返回学生敏感信息 参数替换测试: /teacher/export 获取教职工信息 表格中包含工号等敏感信息 5.2 分页参数利用 发现接口使用 pageNum 和 pageSize 分页参数 在已有接口基础上添加分页参数: 泄露3000+学生二要素信息 /online/card/manage/list :获取校园列表信息 5.3 用户名枚举确认 系统账号大概率使用手机号 使用泄露的手机号进行密码喷洒攻击 反馈"密码不正确"确认用户名枚举漏洞 6. 相对路径接口发现 6.1 接口提取方法 插件匹配接口不完整问题 完整方法:提取所有加载和未加载的异步JS 使用正则表达式批量提取接口 6.2 相对路径接口识别 发现 /role/register 接口未被插件识别 原因为前置缺少 / ,被识别为相对路径 全局搜索发现完整接口路径 6.3 相对路径接口测试 在相对路径前添加 / 转换为绝对路径 携带JWT和分页参数进行测试: 获取大量内部资源信息泄露 7. 突破与权限提升 7.1 信息组合利用 分析泄露的人员信息列表 发现医学生课题研究等敏感数据 找到管理员账号特征 7.2 最终突破 发现管理员账号:m01 弱口令测试成功:abc123 顺利进入管理员后台 8. 技术要点总结 8.1 关键成功因素 细致的信息收集和技术栈识别 前后端分离架构的正确理解 分页参数的巧妙利用 相对路径接口的发现和转换 持续的信息泄露挖掘 8.2 渗透方法论 多层测试:从基础登录测试到深度接口探测 流量分析:持续监控Burp Suite记录 参数变异:已知参数的不同组合测试 权限提升:从低权限JWT到管理员权限的渐进 8.3 防御建议 统一接口鉴权机制 分页接口的数据权限控制 敏感信息脱敏处理 强密码策略实施 接口路径规范化管理 本教学文档详细记录了从信息收集到最终突破的完整过程,强调了细心和连贯的测试思路在渗透测试中的重要性。