测试方案—Burp Suite工具
https://blog.csdn.net/qq_29277155/article/details/82929797?
工具介绍
https://blog.csdn.net/myths_0/article/details/19236773?
工具使用
https://blog.csdn.net/weixin_38079422/article/details/80729158?
短信逻辑参考
https://blog.csdn.net/qq_33556185/article/details/88118900
参考二
https://blog.csdn.net/zbj18314469395/article/details/79954153?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.edu_weight
参数处理优化 优化1:
返回图形验证码附带数字被劫持,有被自动化劫持越过图形验证码检验的风险,
解决
返回验证码时base64加密处理,jsp接收时解密并展示。base64弱加密,建议MD5,rsa加密。
方案拓展
.验证码,返回是前段判断使用,可以将前段判断放到后台处理,不返回图像验证码数字
优化2:
第三方软件输入手机号加特殊字符会发送短信成功,手机号验证在jsp 已经处理,如果越过jsp 校验,直接在访问接口传入手机号会发送短信,造成短信轰炸,
解决
控制层增加对手机号正则检验,不满足则返回,并设置5分钟内只发送一次短信(发送成功记录一个时间,获取此时间加5分钟,并和再次发送时间比较小于则不再发送),并且对发送次数做限制,3-5次,(发送一次变量加一,同一个手机号短时间多次发送不允许)
方案拓展
短信轰炸,手机号和图象验证码请求短信多次发送,处理是发送一次图形验证码就失效
优化3:
a利用b的验证码越过检验,b手机号获取验证码后,更改手机号填入验证码,造成可能越过修改密码短信验证,恶意注册,此问题是,验证码与手机号未绑定。页面已限制手机号输入,且绑定验证码在js处理,越过js,控制层未处理
解决
手机号与验证码绑定,生成验证码后保存一份到session 中,key为手机号,value 为验证码,验证码检验时增加手机号绑定验证,传入的验证码与绑定的验证码比较,判断传入为空,未绑定手机为空,不符合返回。
方案拓展
后台绑定手机号与验证码,同一个手机号根据手机号获取短信与传入短信比较
优化4:
短信验证标志位被篡改,利用自动化抓包修改服务端返回值,造成下载成功,短信验证成功返回成功标志位明文,抓包直接绕过短信,返回标志位被修改,直接进行下一步操作。
解决
1:检验时ajax传入一个随机数作为标志位,控制层加密处理,返回jsp 解密,并和原数比较,相同则可以下载,防止被篡改数据造成下载成功,返回随机数据。 2:或者用手机号作为标志位,返回标志位加密处理,解密后和原传入手机号比较。 3,uuid拼接标志位,jsp截取得到标志位,比较 4,MD5加密,jsp解密
方案建议
验证成功不返回标志,直接返回下载结果,2.返回标志,再次请求下载时增加参数验证,服务端控制