实战登录框漏洞测试
字数 1508 2025-08-26 22:11:15
登录框漏洞实战测试教学文档
一、登录框漏洞概述
登录框是Web应用中最常见的功能点之一,也是安全漏洞的高发区域。通过对登录框进行安全测试,可以发现多种类型的安全漏洞,包括但不限于:
- SQL注入
- 验证码相关漏洞
- 短信/邮箱轰炸
- 越权漏洞(水平/垂直)
- 逻辑漏洞
- 弱口令
- 信息泄露
二、SQL注入漏洞测试
测试方法
-
在登录框的用户名或密码字段输入测试payload,如:
admin' --admin' or '1'='1admin' or 1=1 --
-
判断是否存在注入点:
- 观察返回信息是否有SQL错误
- 观察登录行为是否异常(如无需密码登录)
-
确认存在注入且无WAF防护后,可直接使用sqlmap:
sqlmap -u "http://example.com/login" --data="username=admin&password=123" --level=5 --risk=3
防御措施
- 使用参数化查询
- 实施输入验证和过滤
- 部署WAF
三、验证码相关漏洞
1. 验证码前端显示
测试方法:
- 填写个人信息后点击发送验证码并抓包
- 检查响应中是否直接包含验证码内容
漏洞利用:
- 直接获取验证码绕过验证
2. 验证码内容可控
测试方法:
- 修改请求中的验证码参数
- 尝试发送自定义验证码
漏洞利用:
- 设置简单或已知验证码绕过验证
防御措施
- 验证码应在服务端生成和验证
- 验证码不应在响应中返回
- 限制验证码尝试次数
四、短信轰炸漏洞
1. 通过隐藏接口发现
测试方法:
- 在登录框任意输入账号密码
- 观察返回信息中是否暴露短信接口(如
/login/getsmscode?username=) - 尝试直接访问该接口并修改参数
漏洞利用:
- 无限制发送短信验证码
- 结合用户名枚举可进行定向轰炸
2. 通过特殊字符绕过
测试方法:
- 在手机号前添加特殊字符:
+86- 空格
&
防御措施:
- 限制同一手机号发送频率
- 验证手机号格式
- 实施图形验证码前置
五、邮箱轰炸漏洞
测试方法
- 输入邮箱发送验证码
- 尝试修改邮箱大小写(如
QQ.com改为Qq.com) - 使用Burp Suite自动化测试所有大小写组合(共32种)
漏洞利用
- 通过大小写变化绕过频率限制
- 自动化工具可实现无限发送
防御措施
- 邮箱地址统一转换为小写处理
- 限制同一邮箱发送频率
- 记录发送日志并监控异常
六、越权与逻辑漏洞
1. 水平越权
测试方法:
- 使用两个不同用户账号进行相同操作
- 比较请求包和响应包差异
- 尝试替换关键参数(如uid)
2. 垂直越权
测试方法:
- 使用低权限账号尝试高权限操作
- 修改请求中的权限标识
3. 逻辑漏洞案例
修改密码流程绕过:
- 正常流程分为三个阶段:
- 输入验证码(错误)
- 输入验证码(正确)
- 修改密码
- 将错误验证码的响应包替换为正确验证码的响应包
- 观察是否能绕过验证直接修改密码
防御措施
- 严格校验每一步流程状态
- 使用服务端会话状态管理
- 关键操作添加二次验证
七、弱口令与信息泄露
1. 弱口令测试
方法:
- 使用常见用户名/密码组合爆破:
- admin/admin
- root/123456
- test/test
- 使用强大字典提高成功率
2. 信息泄露
测试点:
- 检查JS文件中的敏感信息
- 目录扫描发现备份文件
- 分析错误返回包中的敏感信息
防御措施
- 强制使用复杂密码策略
- 实施登录失败锁定机制
- 严格控制错误信息返回
- 定期清理备份文件
八、总结
登录框漏洞测试需要系统性地检查各个功能点,重点关注:
- 输入验证(SQL注入)
- 验证机制(验证码、短信/邮箱)
- 权限控制(越权)
- 业务流程(逻辑漏洞)
- 认证强度(弱口令)
- 信息保护(信息泄露)
建议使用Burp Suite等工具辅助测试,特别是Compare模块用于比较不同用户的请求/响应差异。同时,保持更新测试字典和payload库,以提高漏洞发现率。