注册模块上线前安全测试checklist
字数 1324 2025-08-18 11:39:19

注册模块安全测试Checklist - 详细教学文档

一、注册模块可见性测试

1.1 面向大众的注册模块

  • 检查注册功能是否放置在明显位置(如FreeBuf的注册功能)
  • 确保注册流程简洁明了

1.2 内部使用的注册模块

  • 黑盒测试方法

    • 目录扫描寻找隐藏注册接口
    • 审查HTML源代码(查找注释中的注册信息)
    • 爬取JS文件寻找注册接口
    • 社工思维猜测(如从login地址推测regist地址)
  • 白盒测试方法

    • 直接获取开发人员提供的注册地址
    • 检查地址是否容易被猜解

二、用户真实性验证测试

2.1 验证方式检查

  • 检查是否采用手机/邮箱验证
  • 验证方式包括:
    • 短信/邮箱验证码
    • 注册链接发送到邮箱

2.2 验证绕过测试

  • 拦截响应包检查是否直接返回验证码
  • 人脸识别系统测试:
    • 使用动态图片/小视频绕过
    • 参考AE制作人脸动画技术

2.3 前端验证测试

  • 修改返回包参数(如code=-1改为code=0/1)
  • 修改status=false改为status=true

2.4 延迟验证测试

  • 检查"稍后验证"功能是否存在越权漏洞
  • 验证未验证用户是否能获取已验证用户的权限

三、短信/邮箱轰炸测试

3.1 重放攻击测试

  • 使用BurpSuite重放验证码发送请求
  • 检查是否仅在前端进行限制

3.2 限制策略检查

  • 时间间隔限制(通常60秒)
  • 发送次数限制(通常5次)

四、用户名校验测试

4.1 用户名遍历

  • 拦截用户名校验请求
  • 使用Intruder模块+常用用户名字典进行遍历
  • 对存在的用户名进行弱口令爆破

4.2 二次注册风险

  • 检查未校验用户名是否导致:
    • 密码重置漏洞
    • 账号覆盖风险

4.3 SQL注入风险

  • 检查用户存在性查询是否存在SQL注入
  • 测试select语句过滤情况

五、SQL注入与XSS测试

5.1 SQL注入测试

  • Insert注入测试

    • 构造恶意payload插入SQL语句
    • 示例payload:
      'wangwu'or updatexml(1,concat(0x7e,(users())),0) or''
      
  • 二次注入测试

    • 注册时过滤但后续查询未过滤的情况

5.2 XSS测试

  • 测试用户名、昵称、地址等字段
  • 绕过长度限制方法:
    • F12修改输入框maxlength属性
    • 拆分payload到多个输入框拼接

六、权限提升测试

6.1 管理员注册测试

  • 检查注册请求是否包含角色参数
  • 尝试添加role_id=1(管理员角色)参数
  • 测试注册后获得的权限级别

七、文件上传测试

7.1 任意文件上传测试

  • 测试头像、营业执照等上传功能
  • 尝试上传恶意文件(如webshell)
  • 检查文件类型、内容、扩展名验证

八、其他安全测试

8.1 XXE测试

  • 当请求参数为XML格式时
  • 测试XML外部实体注入漏洞

8.2 Fastjson测试

  • 当请求参数为JSON格式时
  • 测试Fastjson反序列化漏洞

测试工具推荐

  1. BurpSuite - 用于请求拦截、重放和Intruder攻击
  2. 目录扫描工具(如DirBuster)
  3. JS文件分析工具
  4. AE软件(用于制作绕过人脸识别的动画)
  5. SQL注入测试payload集合
  6. XSS测试payload集合

注意事项

  1. 黑盒测试时需谨慎操作,避免影响生产环境
  2. 白盒测试应结合代码审计进行
  3. 所有测试应在授权范围内进行
  4. 发现漏洞后应及时报告并记录修复方案
注册模块安全测试Checklist - 详细教学文档 一、注册模块可见性测试 1.1 面向大众的注册模块 检查注册功能是否放置在明显位置(如FreeBuf的注册功能) 确保注册流程简洁明了 1.2 内部使用的注册模块 黑盒测试方法 : 目录扫描寻找隐藏注册接口 审查HTML源代码(查找注释中的注册信息) 爬取JS文件寻找注册接口 社工思维猜测(如从login地址推测regist地址) 白盒测试方法 : 直接获取开发人员提供的注册地址 检查地址是否容易被猜解 二、用户真实性验证测试 2.1 验证方式检查 检查是否采用手机/邮箱验证 验证方式包括: 短信/邮箱验证码 注册链接发送到邮箱 2.2 验证绕过测试 拦截响应包检查是否直接返回验证码 人脸识别系统测试: 使用动态图片/小视频绕过 参考AE制作人脸动画技术 2.3 前端验证测试 修改返回包参数(如code=-1改为code=0/1) 修改status=false改为status=true 2.4 延迟验证测试 检查"稍后验证"功能是否存在越权漏洞 验证未验证用户是否能获取已验证用户的权限 三、短信/邮箱轰炸测试 3.1 重放攻击测试 使用BurpSuite重放验证码发送请求 检查是否仅在前端进行限制 3.2 限制策略检查 时间间隔限制(通常60秒) 发送次数限制(通常5次) 四、用户名校验测试 4.1 用户名遍历 拦截用户名校验请求 使用Intruder模块+常用用户名字典进行遍历 对存在的用户名进行弱口令爆破 4.2 二次注册风险 检查未校验用户名是否导致: 密码重置漏洞 账号覆盖风险 4.3 SQL注入风险 检查用户存在性查询是否存在SQL注入 测试select语句过滤情况 五、SQL注入与XSS测试 5.1 SQL注入测试 Insert注入测试 : 构造恶意payload插入SQL语句 示例payload: 二次注入测试 : 注册时过滤但后续查询未过滤的情况 5.2 XSS测试 测试用户名、昵称、地址等字段 绕过长度限制方法: F12修改输入框maxlength属性 拆分payload到多个输入框拼接 六、权限提升测试 6.1 管理员注册测试 检查注册请求是否包含角色参数 尝试添加role_ id=1(管理员角色)参数 测试注册后获得的权限级别 七、文件上传测试 7.1 任意文件上传测试 测试头像、营业执照等上传功能 尝试上传恶意文件(如webshell) 检查文件类型、内容、扩展名验证 八、其他安全测试 8.1 XXE测试 当请求参数为XML格式时 测试XML外部实体注入漏洞 8.2 Fastjson测试 当请求参数为JSON格式时 测试Fastjson反序列化漏洞 测试工具推荐 BurpSuite - 用于请求拦截、重放和Intruder攻击 目录扫描工具(如DirBuster) JS文件分析工具 AE软件(用于制作绕过人脸识别的动画) SQL注入测试payload集合 XSS测试payload集合 注意事项 黑盒测试时需谨慎操作,避免影响生产环境 白盒测试应结合代码审计进行 所有测试应在授权范围内进行 发现漏洞后应及时报告并记录修复方案