Skip to content

Instantly share code, notes, and snippets.

@Rycarl-Furry
Created November 18, 2025 08:51
Show Gist options
  • Select an option

  • Save Rycarl-Furry/3e93c6f0d48a29518adf341e0fc7e2dd to your computer and use it in GitHub Desktop.

Select an option

Save Rycarl-Furry/3e93c6f0d48a29518adf341e0fc7e2dd to your computer and use it in GitHub Desktop.
CVE-2025-63807: Weak Verification Code Generation and Missing Rate Limiting in Blogin (university-bbs)
# CVE-2025-63807: Weak Verification Code Generation and Missing Rate Limiting in Blogin
## 1. 漏洞概述
在开源项目 [weijiang1994/Blogin](https://github.com/weijiang1994/Blogin)中,密码重置确认接口 `/reset-confirm/` 存在严重安全缺陷:
- 验证码使用**密码学上不安全的随机数生成器**(CWE-338)
- **缺少频率限制**(rate limiting)和会话绑定机制
攻击者可无需身份验证,通过暴力猜测验证码,实现**账户接管**(Account Takeover)。
## 2. 影响版本
所有截至以下提交的版本均受影响:
- **Commit**: `e0448921ca80ef5d31f1472b6f2258689bdaa64d`
- **Date**: 2025-11-18
> 项目仓库:https://github.com/weijiang1994/Blogin
## 3. 漏洞细节
### 受影响组件
- 文件:`blogin/blueprint/front/auth.py`
- 接口:`POST /reset-confirm/`
### 攻击场景
1. 攻击者触发密码重置流程(获取目标邮箱)
2. 直接向 `/reset-confirm/` 发送大量 POST 请求,尝试不同验证码
3. 由于验证码空间小(6 位数字)且无尝试次数限制,可在短时间内爆破成功
4. 成功后可设置新密码,完全接管账户
### 根本原因
- 使用 `random` 等非安全模块生成验证码
- 未对同一邮箱/IP 的验证码请求进行速率限制
- 验证码未与用户会话或一次性令牌绑定
## 4. 修复建议
1.对请求速率限制
2.校验token
3.使用更安全复杂的随机数
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment