越权操作
场景描述
通过使用A用户的TOKEN来查看其他用户的数据。使用获取到的真实TOKEN,通过获取订单详情接口枚举订单号拿到用户订单信息。
解决方案
通过获取到的TOKEN中的用户ID与实际操作的用户ID做比对
短信验证码枚举
场景描述
目前常规短信验证码方案是 4位数字+5分钟有效期。攻击者可以通过5分钟内枚举手机验证码。
解决方案
对验证码的失效时间和尝试失败的次数进行相关的限制
短信验证码炸弹(1)
场景描述
通过访问发送验证码接口,进行频繁短信发送
解决方案
对同一手机号获取验证码次数进行相关的限制
短信验证码炸弹(2)
场景描述
通过访问发送验证码接口,手机号字段尾随无意义字符串例如 空格、加号等 进行频繁短信发送。
解决方案
通过校验手机号格式进行限制
流程绕过
场景描述
通过前端调用三方接口获得数据,后续发给服务端。攻击者可以通过修改response返回值或伪造请求攻击
解决方案
三方接口通过服务端封装,业务流程后端控制。
任意文件上传
场景描述
通过文件上传接口上传任意文件
解决方案
校验文件上传类型,通过插件或三方校验文件
重放攻击
场景描述
短时间内对接口进行多次提交请求,导致系统存在大量垃圾数据。
解决方案
限制用户对同一接口在规定时间内的频率限制
报错泄漏敏感信息
场景描述
通过提交错误信息导致服务端接口报错,从而获取服务端程序调用栈信息
解决方案
通过线上关闭该功能及合理捕获异常
敏感信息泄漏
场景描述
数据未脱敏返回前端,攻击者可通过结合中间人攻击的方式获取未脱敏的敏感信息