需要注意两点:
- 一般来说,最多有两个手机号和多个邮箱,注册成功后无法再次测试注册功能
- 同一手机号或邮箱,在短时间内能够接收的验证码个数有限
1、sql注入:
(1)注册、登录、找回密码时,查询用户名、手机号或邮箱是否已注册,以决定是否发送验证码
(2)注册、登录、找回密码时,提交验证码,查询手机号或邮箱与验证码是否匹配
(3)登录查询用户名、手机号或邮箱与密码是否匹配,注册时查询用户名、手机号或邮箱与旧密码是否匹配
(4)注册时,insert插入
(5)找回密码时,update更新
(6)用户个人信息时,涉及查询和update
2、xss:
(1)url或表单请求时请求体部的参数
(2)注册页面基本上都存在输入框,检查其各自是否存在反射型xss
(3)用户的昵称、邮箱等信息,个人图片的图片名,可以作为存储型xss的payload
(4)构造404或超出运行的值,检查响应是否包含
(5)dom xss
3、逻辑漏洞:
(1)验证码爆破
未限制验证码的有效时间和验证次数,或者多次请求的验证码均有效
(2)绕过验证,任意账号注册、登录或找回密码
一般来说,前后接收验证码的手机号和提交验证码的手机号应该一致。
但是如果检查验证码时只检查了手机号和验证码匹配,通过请求中cookie绑定的接收验证码的手机作为注册手机,那么可以为不同的手机号请求验证码
如果检查验证码是检查某cookie和验证码,通过将请求中的手机号作为注册手机号,那么可以随意设置验证时请求中的手机号
(3)任意用户名注册
跳过用户名合法性和重复性检查步骤,重名的用户名有时可以直接用于登录到其它同名账户。而用户名合法性检查跳过,则可以作为存储型xss,或者说违背公序良俗的昵称。
(4)未限制验证码请求次数
可以增加厂商开销,对接收验证码的用户造成干扰攻击,可以允许持久验证码爆破
(5)会话固定漏洞
注册、登录和找回密码都有可能发生
(6)登录凭证可爆破
4、 地址类参数响应包含漏洞
注册、登录和找回密码都有可能发生,以及退出
5、文件上传
个人图片
6、其它
csrf获取用户信息,或者设置用户信息
越权