跳到主要内容

设计缺陷漏洞

强制浏览漏洞是怎样产生的?​

  • 定义: 绕过正常入口, 强行访问本应非公开的文件;
  • 成因:
    • 文件名可由 URL 推测出来;
    • 使用软件的默认文件名;
    • 资源访问未做权限控制;
  • 防御: 对每个资源做独立的权限校验, 不使用可预测文件名;

不正确的错误消息会泄露什么?​

  • 服务端把编程语言、数据库、Web 服务器等的默认报错信息返回给客户端;
  • 攻击者据此推断技术栈、目录结构与 SQL 结构;
  • 防御: 对外返回统一错误页, 详细堆栈只写服务端日志;

开放重定向有什么风险?​

  • 网站把用户可控参数当作跳转目标;
  • 若目标是恶意站点, 用户会带着对本站的信任进入钓鱼页面;
  • 防御: 跳转目标做白名单校验;

密码破解有哪些常见方式?​

  • 穷举: 枚举所有可能组合;
  • 字典攻击: 用常见密码字典逐一尝试;
  • 彩虹表: 预先计算散列值对照表, 反查明文;
  • 防御: 加盐哈希、登录限流、验证码、多因素认证;