任意用户注册

1.注册页面随便填(电话号码最好11位,前端js验证),然后抓包,点击免费获取验证码,

任意用户注册_第1张图片

2.返回包中存在判断,下图是验证码错误的时候

任意用户注册_第2张图片
任意用户注册_第3张图片

3.将状态值改为1,此时手机验证码已经发送出去了

任意用户注册_第4张图片
任意用户注册_第5张图片

4.这时候,手机验证码随便填4位数(不要问我为啥,因为用我自己的手机试过了),发送出去的包里面,只存在3个数据(手机号,手机短信验证码,密码)

任意用户注册_第6张图片

5.将包发送到intruder中去(ctrl+i),将验证码当成变量进行爆破

任意用户注册_第7张图片

6.设置好爆破参数,进行爆破

任意用户注册_第8张图片
任意用户注册_第9张图片
任意用户注册_第10张图片

7.爆破出来的验证码为1075,将短信验证码改为1075,然后重复第一个图的方法,放行数据包

任意用户注册_第11张图片

8.返回的状态码位1(由此可知,其实并不需要正确的短信验证码,随便填写,在这里将状态码改为1,也行)

任意用户注册_第12张图片

9.直接进入个人信息填写的界面,随便填

任意用户注册_第13张图片
任意用户注册_第14张图片

10.填完后,直接进入个人主页页面

任意用户注册_第15张图片

在此就可以任意用户注册了

修复方案:

短信验证码长度不要太短不然容易爆破,要设计过期时间不能一直可以用。
不能太依赖前端验证。

你可能感兴趣的:(渗透)