[MEDIUM] 缺失全局速率限制:登录、注册、密码重置接口可被爆破 #8

Closed
opened 2026-04-30 03:48:43 +08:00 by lan · 0 comments
Owner

漏洞描述

项目中未配置全局速率限制中间件(如 rate.Limiterredis 计数器),以下接口可被无限制调用:

  • 登录接口 — 可暴力破解密码
  • 注册接口 — 可批量创建垃圾账号
  • 密码重置接口 — 可发送大量重置邮件(邮件轰炸)
  • 短信验证码接口 — 可滥用短信服务产生费用

修复建议

  1. 使用 golang.org/x/time/rate 或 Redis 计数器实现速率限制
  2. 登录接口:限制 10 次/分钟/IP
  3. 注册接口:限制 5 次/小时/IP
  4. 密码重置接口:限制 3 次/小时/IP
  5. 对失败次数过多的 IP 临时封禁(如 15 分钟)

严重程度

MEDIUM — 虽非直接数据泄露,但为后续攻击(爆破、滥用)创造条件。

## 漏洞描述 项目中**未配置全局速率限制中间件**(如 `rate.Limiter` 或 `redis` 计数器),以下接口可被无限制调用: - 登录接口 — 可暴力破解密码 - 注册接口 — 可批量创建垃圾账号 - 密码重置接口 — 可发送大量重置邮件(邮件轰炸) - 短信验证码接口 — 可滥用短信服务产生费用 ## 修复建议 1. 使用 `golang.org/x/time/rate` 或 Redis 计数器实现速率限制 2. 登录接口:限制 10 次/分钟/IP 3. 注册接口:限制 5 次/小时/IP 4. 密码重置接口:限制 3 次/小时/IP 5. 对失败次数过多的 IP 临时封禁(如 15 分钟) ## 严重程度 **MEDIUM** — 虽非直接数据泄露,但为后续攻击(爆破、滥用)创造条件。
lan closed this issue 2026-04-30 12:23:20 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: carrot_bbs/backend#8