实战登录框漏洞测试
字数 1508 2025-08-26 22:11:15

登录框漏洞实战测试教学文档

一、登录框漏洞概述

登录框是Web应用中最常见的功能点之一,也是安全漏洞的高发区域。通过对登录框进行安全测试,可以发现多种类型的安全漏洞,包括但不限于:

  • SQL注入
  • 验证码相关漏洞
  • 短信/邮箱轰炸
  • 越权漏洞(水平/垂直)
  • 逻辑漏洞
  • 弱口令
  • 信息泄露

二、SQL注入漏洞测试

测试方法

  1. 在登录框的用户名或密码字段输入测试payload,如:

    • admin' --
    • admin' or '1'='1
    • admin' or 1=1 --
  2. 判断是否存在注入点:

    • 观察返回信息是否有SQL错误
    • 观察登录行为是否异常(如无需密码登录)
  3. 确认存在注入且无WAF防护后,可直接使用sqlmap:

    sqlmap -u "http://example.com/login" --data="username=admin&password=123" --level=5 --risk=3
    

防御措施

  • 使用参数化查询
  • 实施输入验证和过滤
  • 部署WAF

三、验证码相关漏洞

1. 验证码前端显示

测试方法

  • 填写个人信息后点击发送验证码并抓包
  • 检查响应中是否直接包含验证码内容

漏洞利用

  • 直接获取验证码绕过验证

2. 验证码内容可控

测试方法

  • 修改请求中的验证码参数
  • 尝试发送自定义验证码

漏洞利用

  • 设置简单或已知验证码绕过验证

防御措施

  • 验证码应在服务端生成和验证
  • 验证码不应在响应中返回
  • 限制验证码尝试次数

四、短信轰炸漏洞

1. 通过隐藏接口发现

测试方法

  1. 在登录框任意输入账号密码
  2. 观察返回信息中是否暴露短信接口(如/login/getsmscode?username=
  3. 尝试直接访问该接口并修改参数

漏洞利用

  • 无限制发送短信验证码
  • 结合用户名枚举可进行定向轰炸

2. 通过特殊字符绕过

测试方法

  • 在手机号前添加特殊字符:
    • +86
    • 空格
    • &

防御措施

  • 限制同一手机号发送频率
  • 验证手机号格式
  • 实施图形验证码前置

五、邮箱轰炸漏洞

测试方法

  1. 输入邮箱发送验证码
  2. 尝试修改邮箱大小写(如QQ.com改为Qq.com
  3. 使用Burp Suite自动化测试所有大小写组合(共32种)

漏洞利用

  • 通过大小写变化绕过频率限制
  • 自动化工具可实现无限发送

防御措施

  • 邮箱地址统一转换为小写处理
  • 限制同一邮箱发送频率
  • 记录发送日志并监控异常

六、越权与逻辑漏洞

1. 水平越权

测试方法

  • 使用两个不同用户账号进行相同操作
  • 比较请求包和响应包差异
  • 尝试替换关键参数(如uid)

2. 垂直越权

测试方法

  • 使用低权限账号尝试高权限操作
  • 修改请求中的权限标识

3. 逻辑漏洞案例

修改密码流程绕过

  1. 正常流程分为三个阶段:
    • 输入验证码(错误)
    • 输入验证码(正确)
    • 修改密码
  2. 将错误验证码的响应包替换为正确验证码的响应包
  3. 观察是否能绕过验证直接修改密码

防御措施

  • 严格校验每一步流程状态
  • 使用服务端会话状态管理
  • 关键操作添加二次验证

七、弱口令与信息泄露

1. 弱口令测试

方法

  • 使用常见用户名/密码组合爆破:
    • admin/admin
    • root/123456
    • test/test
  • 使用强大字典提高成功率

2. 信息泄露

测试点

  • 检查JS文件中的敏感信息
  • 目录扫描发现备份文件
  • 分析错误返回包中的敏感信息

防御措施

  • 强制使用复杂密码策略
  • 实施登录失败锁定机制
  • 严格控制错误信息返回
  • 定期清理备份文件

八、总结

登录框漏洞测试需要系统性地检查各个功能点,重点关注:

  1. 输入验证(SQL注入)
  2. 验证机制(验证码、短信/邮箱)
  3. 权限控制(越权)
  4. 业务流程(逻辑漏洞)
  5. 认证强度(弱口令)
  6. 信息保护(信息泄露)

建议使用Burp Suite等工具辅助测试,特别是Compare模块用于比较不同用户的请求/响应差异。同时,保持更新测试字典和payload库,以提高漏洞发现率。

登录框漏洞实战测试教学文档 一、登录框漏洞概述 登录框是Web应用中最常见的功能点之一,也是安全漏洞的高发区域。通过对登录框进行安全测试,可以发现多种类型的安全漏洞,包括但不限于: SQL注入 验证码相关漏洞 短信/邮箱轰炸 越权漏洞(水平/垂直) 逻辑漏洞 弱口令 信息泄露 二、SQL注入漏洞测试 测试方法 在登录框的用户名或密码字段输入测试payload,如: admin' -- admin' or '1'='1 admin' or 1=1 -- 判断是否存在注入点: 观察返回信息是否有SQL错误 观察登录行为是否异常(如无需密码登录) 确认存在注入且无WAF防护后,可直接使用sqlmap: 防御措施 使用参数化查询 实施输入验证和过滤 部署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库,以提高漏洞发现率。