ustc-course icon indicating copy to clipboard operation
ustc-course copied to clipboard

注册时的邮箱和用户名验证/忘记密码没有防爆破保护与验证码

Open sparkcyf opened this issue 6 months ago • 0 comments

最近有人刷本校评课网站的忘记密码的邮件发送接口,才注意到这个问题:

  • icourse在注册阶段会通过reg_verify这个api检查邮箱和用户名有没有被注册过,但这个api没有做限制Origin或者限制session的措施,在邮件规则已知的情况下(比如邮箱前缀都是数字的学生邮箱)可能会被人快速穷举
  • 注册和重置密码的控件都没有验证码,可能会导致有人恶意刷邮件

https://github.com/USTC-iCourse/ustc-course/blob/5556d25dc9c32b8cb7836e1c1c6672521569570f/app/views/api.py#L255-L264

可能的解决方案:提交注册或忘记密码表单前加验证码 ( https://github.com/SUSTech-CRA/sustech-course/commit/021e06a3eeed50c028052bf72eab2fd76500096d ) 或表单验证 ( https://github.com/SUSTech-CRA/sustech-course/commit/05001e97ba0fe7b95fec8e54b60cc0c4303f6100 )

sparkcyf avatar Jan 01 '24 13:01 sparkcyf