《Web安全基础》06. 逻辑漏洞&越权

web


本系列侧重方法论,各工具只是实现目标的载体。

命令与工具只做简单介绍,其使用另见《安全工具录》。
靶场参考:pikachu。

1:逻辑漏洞

逻辑漏洞,与技术性漏洞不同,涉及到程序或系统中的逻辑错误或设计缺陷。通常不涉及代码的错误,而是涉及程序或系统的业务逻辑。

常见逻辑漏洞与特征:

  • 越权访问 (Authorization Bypass):
    • 访问控制机制绕过,访问未经授权的资源或功能。
  • 双重提交 (Double-Submit):
    • 应用程序未能检测到同一操作的多个请求,导致重要操作重复执行。
  • 逻辑竞争 (Race Conditions):
    • 多个进程或线程之间共享资源时,由于不正确的同步,导致不一致的状态或未授权的操作。
  • 业务逻辑错误 (Business Logic Errors):
    • 应用程序未正确实施业务逻辑,从而允许不符合预期的行为。
  • 会话管理问题 (Session Management Issues):
    • 应用程序没有正确管理会话,导致攻击者冒充其他用户。

逻辑漏洞难以使用扫描器检测。

2:逻辑越权

逻辑越权,通过绕过应用程序或系统的访问控制逻辑,获取未经授权的访问或执行操作的权限。

三种类型

  • 水平越权 (Horizontal Privilege Escalation)
    • 通过更换身份标识,从而使 A 账号获取、操作 B 账号数据。
  • 垂直越权 (Vertical Privilege Escalation)
    • 使用低权限身份的账号,进行高权限账号才能有的操作。
  • 交叉越权
    • 水平越权与垂直越权的结合。

测试越权漏洞的基本 :数据包中有传输用户的编号、用户组编号或类型编号的时候,尝试对这个值进行修改。
垂直越权条件:获取 admin 发送的数据包结构。

3:修复防御方案

  • 前后端同时对用户输入信息进行校验,双重验证机制。
  • 调用功能前验证用户是否有权限调用相关功能。
  • 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限。
  • 敏感数据特殊化处理,防止攻击者枚举 ID。
  • 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤。

4:越权问题

4.1:商品购买

流程

  • 选择商品和数量 -> 选择支付及配送方式 -> 生成订单编号 -> 订单支付选择 -> 完成支付

常见篡改参数

  • 商品编号 ID,购买价格,购买数量,支付方式,订单号,支付状态等

常见修改方法

  • 替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠券支付等

4.2:找回重置机制

机制缺陷

  • 客户端回显,Response 状态值,验证码爆破,找回流程绕过等

接口调用滥用问题

  • 短信轰炸,来电轰炸等

4.3:接口安全问题

常见问题

  • 调用。如短信轰炸
  • 遍历。如 UID 等遍历
  • 未授权
  • 篡改

4.4:验证安全

安全验证,用于确认用户的身份与操作。

  • 分类:图片,手机,邮箱,语音,视频,操作等

安全验证逻辑漏洞

  • 原理:验证生成或验证过程中的逻辑问题
  • 危害:账户权限泄漏,短信轰炸,遍历,任意用户操作等
  • 漏洞:客户端回显,验证码复用,验证码爆破,绕过等

token 安全

  • token 爆破,token 客户端回显等

5:相关资源

secscan-authcheck
https://github.com/ztosec/secscan-authcheck

挖洞技巧:支付漏洞之总结
https://www.secpulse.com/archives/67080.html

password_brute_dictionary
https://github.com/zxcvbn001/password_brute_dictionary


静夜沉沉,浮光霭霭,冷浸溶溶月。

------《无俗念 · 灵虚宫梨花词》(宋)丘处机

相关推荐
熊的猫1 小时前
JS 中的类型 & 类型判断 & 类型转换
前端·javascript·vue.js·chrome·react.js·前端框架·node.js
瑶琴AI前端1 小时前
uniapp组件实现省市区三级联动选择
java·前端·uni-app
会发光的猪。1 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
jjyangyou2 小时前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
我要洋人死2 小时前
导航栏及下拉菜单的实现
前端·css·css3
AltmanChan3 小时前
大语言模型安全威胁
人工智能·安全·语言模型
科技探秘人3 小时前
Chrome与火狐哪个浏览器的隐私追踪功能更好
前端·chrome
科技探秘人3 小时前
Chrome与傲游浏览器性能与功能的深度对比
前端·chrome
JerryXZR3 小时前
前端开发中ES6的技术细节二
前端·javascript·es6
七星静香3 小时前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel