记一次web登录通杀渗透测试
字数 1419 2025-08-26 22:11:15
Web登录通杀渗透测试教学文档
1. 测试思路概述
当面对一个Web登录页面时,可以采用以下系统化的渗透测试方法:
- 弱口令爆破测试
- 目录扫描
- JS文件分析
- 组合拳攻击(结合多种方法)
- 登录返回包测试
- 越权测试(垂直/平行越权)
2. 详细测试方法
2.1 弱口令爆破测试
适用场景:登录页面没有验证码或验证码可绕过时
爆破流程:
-
收集常见用户名列表:
- admin
- test
- root
- 其他系统特定管理账号(可从操作手册获取)
-
使用Burp Suite等工具进行爆破
注意事项:
- 观察密码是否加密(案例中为MD5加密)
- 使用Burp自带的编码转换功能处理加密密码
- 爆破成功后注意账号复杂性(可能需要前期信息收集)
2.2 目录扫描
方法:
- 使用DirBuster、Dirsearch等工具扫描网站目录
- 重点寻找未做鉴权的可访问目录
预期结果:
- 可能发现未授权访问的后台管理界面
- 可能发现敏感文件或接口
2.3 JS文件分析
详细步骤:
- 检查页面引用的JS文件(如index.js)
- 搜索JS文件中包含的URL路径(案例中发现/SystemMng/Index)
- 尝试拼接发现的URL进行访问
- 深入分析JS代码寻找更多线索
技巧:
- 即使初始拼接访问无内容,仍需仔细分析JS
- 可能发现多个可利用的接口或路径
- 案例中通过JS分析获取了管理员账号和电话
2.4 组合拳攻击
实施步骤:
- 通过JS分析获取管理员信息(账号、电话)
- 利用获取的正确账号进行针对性爆破
- 分析密码加密方式(案例为MD5)
- 使用Burp的编码功能进行加密爆破
优势:
- 比盲目爆破效率更高
- 针对性强,成功率提升
2.5 登录返回包测试
测试方法:
- 随意输入账号密码尝试登录
- 抓取登录请求和返回包
- 修改鉴权数据尝试绕过
- 观察返回包中的跳转逻辑和数据
发现点:
- 可能发现鉴权逻辑缺陷
- 案例中修改后跳转但无数据
- JS中仍可能存在信息泄露
2.6 越权测试
类型:
- 垂直越权:低权限用户获取高权限
- 平行越权:同权限用户访问他人数据
测试步骤:
- 使用已获取的普通用户账号登录
- 抓取数据包分析
- 重点观察ID、code等参数
- 多次测试确定校验逻辑(案例中发现仅校验code参数)
技巧:
- 需要多次测试验证假设
- 关注所有可能的参数
- 案例中从普通用户权限提升到网站所有权限
3. 关键知识点总结
-
信息收集至关重要:无论是爆破还是越权,都需要前期充分的信息收集(用户名、接口、加密方式等)
-
JS文件是宝藏:现代Web应用中,JS文件常包含大量业务逻辑和接口信息
-
组合攻击更有效:单一方法可能无效,但组合多种方法(如JS分析+爆破)往往能突破防线
-
加密不是绝对安全:即使密码加密传输(如MD5),只要知道算法仍可爆破
-
越权测试需要耐心:需要多次尝试和验证才能确定系统的真实校验逻辑
4. 防御建议
- 实施多因素认证
- 对敏感接口进行严格鉴权
- 避免在客户端JS中暴露敏感信息
- 使用不可预测的token而非简单ID进行校验
- 对密码进行加盐哈希处理
- 实施合理的权限分离和最小权限原则
5. 工具推荐
- Burp Suite:用于抓包、爆破和编码转换
- DirBuster/Dirsearch:目录扫描
- Chrome开发者工具:分析JS和网络请求
- Hashcat:密码爆破(特别是加密密码)
通过系统性地应用这些方法,可以全面测试Web登录系统的安全性,发现并利用各种潜在漏洞。