Skip to content

dsh-passwords v2.0.2

Choose a tag to compare

@slywalker2006 slywalker2006 released this 14 Aug 07:13
· 9 commits to main since this release

v2.0.2 安全修复(网安测试第二轮)

1. CSRF 防护

  • 登录/配置表单新增 double-submit token:GET 渲染时同时下发 HttpOnly Cookie 与表单隐藏域,POST 时恒定时间比对
  • 无 token / token 不匹配 → 403 并重新下发新 token;多标签页互不干扰

2. 真实状态码

  • 凭据错误 → 401、账号锁定 → 429、已初始化 → 409(不再统一 200 吞错)

3. 代理层防嵌框

  • dsh 应用代理响应补 X-Frame-Options: SAMEORIGIN + Content-Security-Policy: frame-ancestors 'self'(允许同源内嵌,禁止跨站嵌框)

复验(公网实测)

  • 无 CSRF 登录 → 403 ✓
  • 错密码 → 401 ✓;正确登录 → 302 ✓
  • 连续失败第 5 次起 → 429 ✓
  • dsh 页面响应含嵌框头 ✓
  • 时序均衡:不存在用户 0.896s vs 存在用户错密码 0.898s ✓

许可证

BSD 3-Clause

安装

Node.js >= 22.5。克隆仓库 → cp .env.example .env(改 SETUP_KEY)→ npm install && npm run build && npm start。完整教程见 README。