《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


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

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

相关推荐
IT_陈寒2 分钟前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端
袁哥大话安全1 小时前
巡隐WEBSHELL扫描软件
人工智能·安全·web
guslegend1 小时前
脚手架原理与本地调试:从 bin 软链接到 npm link
前端·npm·node.js·脚手架·前端工程化
小宋10211 小时前
A2UI从零实战:Agent安全生成交互界面与事件回传
javascript·人工智能·安全·交互
草根大哥1 小时前
04-推拉流安全:签名、Token 与防盗链
安全·成本·延迟·自建cdn·ppcdn
海码事务所2 小时前
Google Play 新个人开发者账号上架指南:12 人连续 14 天封闭测试怎么做?
前端
田威AI2 小时前
图片内文字翻译的规格:输入输出、保真、自动化、时间与费用
前端·计算机视觉
不可能片场2 小时前
命令行中文变问号 我用环境变量救了场
前端·electron
lerhxx2 小时前
AI 应用中的上下文管理 —— 从"上下文窗口"到"分层压缩"的工程实践
前端·javascript
骑着蜗牛撵大象3272 小时前
多 Agent 分治协作:MapReduce 模式下的并行扇出与结果归并
前端