image.png

普遍逻辑漏洞思维导图

逻辑漏洞的特点

  1. Bypass一切防护设备
  2. 没有有效的自动化工具
  3. 再牛逼的程序员都可以造坑
  4. 业务逻辑复杂造成的坑

逻辑漏洞流程

1.正常操作流程记录数据包 2.分析数据包里的敏感参数 3.分析程序逻辑判断验证机制 4.修改数据包验证猜想

逻辑漏洞的类型

1.用户相关 2.交易相关 3.恶意攻击 4.More

image.png

漏洞产生的原因

通常情况下,一个 Web 程序功能流程是登录 - 提交请求 - 验证权限 - 数据库查询 - 返回结果。如果验证权限不足,便会导致越权。常见的程序都会认为通过登录后即可验证用户的身份,从而不会做下一步验证,最后导致越权。

1. 通过隐藏 URL

实现控制访问有些程序的管理员的管理页面只有管理员才显示,普通用户看不到,利用 URL 实现访问控制,但 URL 泄露或被恶意攻击者猜到后,这会导致越权攻击。

2. 直接对象引用

这种通过修改一下参数就可以产生水平越权,例如查看用户信息页面 URL 后加上自己的 id 便可查看,当修改为他人的 ID 号时会返回他人的信息,便产生了水平越权。

3. 多阶段功能

多阶段功能是一个功能有多个阶段的实现。例如修改密码,可能第一步是验证用户身份信息,号码验证码类的。当验证成功后,跳到第二步,输入新密码,很多程序会在这一步不再验证用户身份,导致恶意攻击者抓包直接修改参数值,导致可修改任意用户密码。

4. 静态文件

很多网站的下载功能,一些被下载的静态文件,例如 pdf、word、xls 等,可能只有付费用户或会员可下载,但当这些文件的 URL 地址泄露后,导致任何人可下载,如果知道 URL 命名规则,则会便利服务器的收费文档进行批量下载。

5. 平台配置错误

一些程序会通过控件来限制用户的访问,例如后台地址,普通用户不属于管理员组,则不能访问。但当配置平台或配置控件错误时,就会出现越权访问。

防范措施

  1. 前后端同时对用户输入信息进行校验,双重验证机制
  2. 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
  3. 特别敏感操作可以让用户再次输入密码或其他的验证信息。
  4. 可以从用户的加密认证 cookie 中获取当前用户 id,防止攻击者对其修改。或在 session、cookie 中加入不可预测、不可猜解的 user 信息。
  5. 直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
  6. 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

Web安全渗透方向,三大核心:输入输出、登录体系、权限认证。
典型的web漏洞:注入、跨站、上传、代码执行等属于输入输出这个层级,这也是OWASP早期比较侧重的;近年来,像越权漏洞、逻辑绕过、接口安全等逐渐增多,这些属于登录体系和权限认证这个层级。
业务逻辑漏洞主要包括以下分类:
1.登录体系安全
2.业务一致性
3.业务数据篡改
4.密码找回
5.验证码突破
6.会话权限
7.数据重放
8.接口安全
逻辑漏洞* - 图3