当前位置: 首页 > article >正文

【Web安全】小白也能懂的并发漏洞:原理、场景与防御

文章目录前言一、漏洞本质二、攻击原理正常的并发处理流程漏洞触发流程三、漏洞场景1.提交问卷一次操作变多次福利2.刷票一个行为被反复计数四、并发突破绕过业务限制1.绕过“数量限制”免费享受付费权益2.短信轰炸验证码“管够”五、检测方式怎么发现并发漏洞1.黑盒测试模拟“同时操作”2.白盒审计看代码有没有“防护”六、防御方案让系统“抗住”并发1.加“锁”让操作“排队”2.限制请求频率不让“同时”发生3.事后校验操作完再“对账”4.日志监控盯着“异常操作”七、总结往期文章【Web安全】一次性搞懂 ReDOS 漏洞原理/检测/防御【Web安全】一次性搞懂 XSS 漏洞原理/检测/防御【Web安全】一次性搞懂 CSRF 漏洞原理/检测/防御【Web安全】一次性搞懂 SSRF 漏洞原理/检测/防御【Web安全】一次性搞懂越权漏洞原理/检测/防御【Web安全】逻辑漏洞之支付漏洞原理、场景与防御前言在Web应用中“并发”是个很常见的词——简单说就是“多个操作同时发生”。比如你和朋友同时给同一篇文章点赞或者春运时大家抢同一趟火车票这些都是并发场景。但并发本身不是漏洞它更像一把“双刃剑”用得好能提高系统效率比如同时处理多个用户请求用不好就可能被攻击者利用变成“并发漏洞”。本文就用大白话讲讲并发漏洞是什么、会造成什么危害以及怎么防范。一、漏洞本质先明确一个核心点并发不是漏洞而是一种“攻击手法”。就像“刀”本身不是武器用刀伤人的行为才是问题——并发只是“多个操作同时进行”的状态而漏洞的本质是系统没处理好“同时发生的多个操作”导致业务规则被绕过出现异常结果。举个生活例子超市规定“每人限购1瓶特价牛奶”正常情况下你买完1瓶系统会记下来但如果你和朋友同时拿着同一瓶牛奶去两个收银台结账而超市系统没及时同步“已购买”的记录就可能让你“买了2瓶”——这就是并发导致的规则绕过也就是并发漏洞的本质。二、攻击原理正常的并发处理流程健康的系统处理并发时会有“排队”或“保护机制”多个请求同时到达服务器系统按顺序处理或给数据加“锁”比如先处理A的请求B的请求要等A处理完再开始确保每个操作的结果正确比如A买完特价牛奶B再买时系统会提示“已售罄”。漏洞触发流程当系统没做好并发控制时漏洞就会出现攻击者同时发送多个相同的请求比如同时提交10次问卷系统没来得及记录“已经处理过一次”把这10次请求当成“第一次”分别处理最终出现异常结果比如抽了10次奖而正常只能抽1次。简单说攻击链路就是攻击者→同时发送多个相同请求→系统没拦住→绕过规则重复操作三、漏洞场景并发漏洞的危害得结合具体业务来看。下面是几个小白也能懂的场景1.提交问卷一次操作变多次福利业务背景某平台规定“提交一次问卷可抽一次奖或领一次红包”目的是鼓励用户填问卷但限制每人只能参与1次。漏洞场景攻击者用工具同时发送10次“提交问卷”的请求。由于系统没处理好并发——第1次请求还没记录“已提交”第2到10次请求就已经被处理了。最终攻击者抽了10次奖领了10个红包而正常用户只能领1次。大白话总结系统“反应慢”没发现这些请求是“同一个人同时发的”错把多次操作当成了一次。2.刷票一个行为被反复计数业务背景某投票活动规定“每人对同一选手只能投1票”或“每条内容只能点赞1次”防止刷票作弊。漏洞场景攻击者同时发送100次“投票”或“点赞”请求。系统因为并发处理不及时每次请求都认为是“第一次操作”最终给选手加了100票或者内容多了100个赞。为什么会这样就像你同时给朋友发10条“帮我点赞”的消息朋友手快没注意是重复的每条都点了一次——系统此刻就像这个“手快的朋友”没检查重复。四、并发突破绕过业务限制除了重复操作并发还能绕过一些“数量限制”常见于需要付费解锁的场景1.绕过“数量限制”免费享受付费权益业务背景某团队协作工具规定“免费版最多添加5名团队成员”想加第6人需要开通付费的“企业版”。漏洞场景攻击者同时发送2次“添加成员”的请求此时团队已有5人。正常情况下系统应该提示“已达上限”但由于并发处理问题第1次请求检查时发现“当前5人可加1人”开始添加第2次请求检查时系统还没更新“已添加到6人”也认为“可加1人”继续添加最终团队成员变成了7人攻击者没花钱就绕过了限制。2.短信轰炸验证码“管够”业务背景登录或注册时系统会发送短信验证码为了防止骚扰通常限制“1分钟最多发3条”。漏洞场景攻击者同时发送10条“获取验证码”的请求。系统没来得及记录“已发送次数”就把10条请求都当成“第一次发送”最终1分钟内发了10条验证码——不仅骚扰用户还可能消耗平台的短信费用。五、检测方式怎么发现并发漏洞哪怕是小白也能通过简单方法检测1.黑盒测试模拟“同时操作”工具用简单的脚本比如Python的多线程脚本或者通过 BurpSuite 的 Intruder 模块。操作对目标功能如提交问卷、投票同时发送5-10次相同的请求。判断如果结果超过正常限制比如投了10票、领了5个红包说明可能有并发漏洞。2.白盒审计看代码有没有“防护”如果懂一点代码可以检查关键操作如添加成员、发验证码是否有“锁”机制是否限制了单位时间内的请求次数比如“1分钟最多5次”。如果都没有大概率存在并发漏洞。六、防御方案让系统“抗住”并发防范并发漏洞的核心是让系统“认出”同时发生的重复操作按规则处理。1.加“锁”让操作“排队”就像公共厕所的门锁——有人用的时候锁上其他人得等。系统里的“锁”也是这个道理处理请求前先给数据加锁比如“团队成员数”“问卷提交状态”一个请求处理完解锁后再处理下一个例子添加团队成员时先锁上“当前人数”处理完再解锁后面的请求就会看到“已达上限”。2.限制请求频率不让“同时”发生规定“单位时间内最多处理N次请求”比如“1分钟内最多3次验证码请求”“5秒内最多1次问卷提交”。实现方式很简单记录每个用户的操作时间超过次数就拒绝。3.事后校验操作完再“对账”比如投票后系统定期检查“同一用户的投票次数”如果超过1次就自动减去多余的票数——相当于“事后算账”弥补并发时的漏洞。4.日志监控盯着“异常操作”在华为的业务体系中审计日志是系统的 “标配安全组件”其设计理念就像给核心业务装上 “24 小时监控摄像头”。审计内容包含“六要素”操作时间操作人 ID绑定员工 / 用户唯一标识操作行为如 “提交订单”“发送验证码”操作对象明确操作所针对的具体目标如 “某份合同编号”“某台设备的 IP 地址”“某条用户数据的 ID” 等操作结果记录操作的执行状态是成功、失败还是异常终止操作终端如终端 IP 地址、设备型号、操作系统版本七、总结并发漏洞的本质不是“并发”本身有问题而是系统没处理好“同时发生的多个操作”导致业务规则被绕过。对小白来说记住两点就行并发漏洞常表现为“一次操作变多次”“绕过数量限制”防御的核心是“让系统认出重复操作”——加锁、限频率、事后查账都能有效防范。本文是「Web安全基础」系列的第 7 篇点击专栏导航查看全部系列内容。

相关文章:

【Web安全】小白也能懂的并发漏洞:原理、场景与防御

文章目录前言一、漏洞本质二、攻击原理正常的并发处理流程漏洞触发流程三、漏洞场景1.提交问卷:一次操作变多次福利2.刷票:一个行为被反复计数四、并发突破:绕过业务限制1.绕过“数量限制”:免费享受付费权益2.短信轰炸&#xff1…...

Office自定义界面编辑器终极指南:打造个性化办公环境的免费工具

Office自定义界面编辑器终极指南:打造个性化办公环境的免费工具 【免费下载链接】office-custom-ui-editor Standalone tool to edit custom UI part of Office open document file format 项目地址: https://gitcode.com/gh_mirrors/of/office-custom-ui-editor …...

Rockchip RK1808K嵌入式AI模块开发与应用解析

1. Toybrick TB-RK1808M0模块深度解析这款搭载Rockchip RK1808K SoC的mini PCIe模块,终于填补了AI加速器在主流工业接口形态上的空白。作为嵌入式AI领域的从业者,我特别关注这种将完整计算系统与NPU加速集成在标准接口模块上的设计思路。不同于市面上单纯…...

第3集:SSH 远程批量巡检 + 面试必问的 Paramiko 原理

第3集:SSH 远程批量巡检 + 面试必问的 Paramiko 原理 本集解锁内容:手写 Paramiko 连接池、批量并发巡检、面试必问的 SSH 底层原理和安全加固。学完本集,你能在面试中讲清楚:为什么不用 shell 脚本而用 Paramiko?连接池怎么设计?100 台服务器并发巡检怎么做? 😫 用户…...

第2集:智能巡检算法揭秘!动态基线、3-Sigma、Isolation Forest 实战 + 面试标准答案

第2集:智能巡检算法揭秘!动态基线、3-Sigma、Isolation Forest 实战 + 面试标准答案 本集解锁内容:手写三种异常检测算法,集成到巡检 Agent 中,并附 10 道高频面试题标准答案。学完本集,你能在白板上写出完整的异常检测函数,并讲清楚每种算法的优缺点。 😫 用户痛点引…...

10个脑洞大开的趣味前端面试题:测试你的编程思维边界

10个脑洞大开的趣味前端面试题:测试你的编程思维边界 【免费下载链接】Front-end-Developer-Interview-Questions A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore. 项目地址…...

Zotero-Style插件标签显示问题终极解决方案:快速恢复文献管理效率

Zotero-Style插件标签显示问题终极解决方案:快速恢复文献管理效率 【免费下载链接】zotero-style Ethereal Style for Zotero 项目地址: https://gitcode.com/GitHub_Trending/zo/zotero-style 作为一名学术研究者,您是否在使用Zotero-Style插件时…...

Windows终极PDF处理方案:Poppler零依赖快速入门指南

Windows终极PDF处理方案:Poppler零依赖快速入门指南 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 还在为Windows上的PDF处理工具选择…...

终极指南:如何在3分钟内掌握Zotero插件市场,一键安装所有学术工具

终极指南:如何在3分钟内掌握Zotero插件市场,一键安装所有学术工具 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/z…...

3个步骤彻底解决Zotero-Style插件标签显示问题:从异常到完美显示

3个步骤彻底解决Zotero-Style插件标签显示问题:从异常到完美显示 【免费下载链接】zotero-style Ethereal Style for Zotero 项目地址: https://gitcode.com/GitHub_Trending/zo/zotero-style 当您升级到Zotero 7版本后,是否发现文献标题前的彩色…...

微信网页版访问技术范式:wechat-need-web的逆向工程实现机制

微信网页版访问技术范式:wechat-need-web的逆向工程实现机制 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 在浏览器生态中实现微信网页版…...

3步掌握RePKG:Wallpaper Engine资源处理完整指南

3步掌握RePKG:Wallpaper Engine资源处理完整指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经想要修改Wallpaper Engine壁纸中的某个元素,却因…...

LM文生图WebUI源码浅析:Gradio封装逻辑与参数映射关系

LM文生图WebUI源码浅析:Gradio封装逻辑与参数映射关系 1. 平台架构概述 LM文生图镜像基于Tongyi-MAI/Z-Image底座构建,采用Gradio框架封装Web界面,实现了从文本描述到高质量图像生成的完整流程。该系统特别适合角色设计、时尚人像等场景&am…...

Steam ROM Manager 模糊匹配算法解析:智能识别游戏名称和资源

Steam ROM Manager 模糊匹配算法解析:智能识别游戏名称和资源 【免费下载链接】steam-rom-manager The bulk game importer and artwork manager for Steam! 项目地址: https://gitcode.com/gh_mirrors/st/steam-rom-manager Steam ROM Manager 作为一款强大…...

BD AbSeq——蛋白质与mRNA表达同步检测

蛋白质作为细胞功能的核心执行者,广泛参与细胞代谢、结构维持、信号转导等关键生命活动,其表达水平与修饰状态的精准检测,是深入解析细胞生理状态、阐明细胞功能机制的核心前提,对单细胞生物学研究具有重要的科学意义。在单细胞分…...

嵌入式设备中的高效枚举映射

在嵌入式系统开发中,性能优化是一个持续的话题。对于那些需要高效访问特定数据的场景,使用传统的std::map或std::unordered_map可能不是最佳选择,因为它们在性能受限的环境中可能会引入不必要的开销。本文将介绍如何利用C++的std::array和枚举类型创建一个高效的静态映射,并…...

如何解决JuiceFS Python SDK缓存目录配置难题:从内存限制到高性能存储方案

如何解决JuiceFS Python SDK缓存目录配置难题:从内存限制到高性能存储方案 【免费下载链接】juicefs JuiceFS is a distributed POSIX file system built on top of Redis and S3. 项目地址: https://gitcode.com/GitHub_Trending/ju/juicefs JuiceFS是一个基…...

系统托盘图标终极指南:让System Informer成为你的系统监控利器

系统托盘图标终极指南:让System Informer成为你的系统监控利器 【免费下载链接】systeminformer A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & …...

如何将传统游戏移植到Phaser框架:以俄罗斯方块为例

如何将传统游戏移植到Phaser框架:以俄罗斯方块为例 【免费下载链接】games 一个基于Phaser的小游戏集合 项目地址: https://gitcode.com/gh_mirrors/game/games 传统游戏移植到现代框架可以让经典游戏获得新的生命力。Phaser作为一款强大的HTML5游戏框架&…...

3步解决演唱会抢票难题:终极自动抢票工具实战指南

3步解决演唱会抢票难题:终极自动抢票工具实战指南 【免费下载链接】Autoticket 大麦网自动抢票工具 项目地址: https://gitcode.com/gh_mirrors/au/Autoticket 面对热门演唱会门票秒光的困境,手动抢票成功率不足10%。Autoticket是一款基于Python和…...

七旬阿婆半年打赏330万,儿子回家发现连15块电费都交不起

王建国(化名)怎么也没想到,自己援边多年攒下的积蓄,会以这种方式化为乌有。今年4月初,他回到上海家中,发现母亲江阿婆神情恍惚,家里冷清得不像话。问起近况,老人才支支吾吾地说&…...

终极Midday收件箱状态流转完整指南:从接收到处理的全生命周期解析

终极Midday收件箱状态流转完整指南:从接收到处理的全生命周期解析 【免费下载链接】midday Invoicing, Time tracking, File reconciliation, Storage, Financial Overview & your own Assistant made for Freelancers 项目地址: https://gitcode.com/GitHub_…...

DLSS Swapper终极指南:3分钟掌握游戏画质自由切换

DLSS Swapper终极指南:3分钟掌握游戏画质自由切换 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 你是否曾想过,为什么别人的游戏画面总是那么流畅清晰,而你的游戏却时常卡顿&#x…...

决策树与随机森林:从原理到实践的完整指南

决策树与随机森林:从原理到实践的完整指南 【免费下载链接】leetcode LeetCode Solutions: A Record of My Problem Solving Journey.( leetcode题解,记录自己的leetcode解题之路。) 项目地址: https://gitcode.com/gh_mirrors/le/leetcode 决策树…...

终极SWE-agent多源输入适配指南:轻松实现标准化问题陈述处理

终极SWE-agent多源输入适配指南:轻松实现标准化问题陈述处理 【免费下载链接】SWE-agent SWE-agent takes a GitHub issue and tries to automatically fix it, using your LM of choice. It can also be employed for offensive cybersecurity or competitive codi…...

SWE-agent状态环境钩子终极指南:智能监控与实时报告全攻略

SWE-agent状态环境钩子终极指南:智能监控与实时报告全攻略 【免费下载链接】SWE-agent SWE-agent takes a GitHub issue and tries to automatically fix it, using your LM of choice. It can also be employed for offensive cybersecurity or competitive coding…...

如何利用SWE-agent文件映射功能实现AI代码库的高效导航

如何利用SWE-agent文件映射功能实现AI代码库的高效导航 【免费下载链接】SWE-agent SWE-agent takes a GitHub issue and tries to automatically fix it, using your LM of choice. It can also be employed for offensive cybersecurity or competitive coding challenges. […...

NVIDIA Profile Inspector:超越控制面板的显卡调校哲学

NVIDIA Profile Inspector:超越控制面板的显卡调校哲学 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 你是否曾对NVIDIA控制面板中那些有限的选项感到不满?是否想过为什么有些游…...

MAA助手终极指南:解放双手的明日方舟智能自动化革命

MAA助手终极指南:解放双手的明日方舟智能自动化革命 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://gitco…...

如何用 emailjs 发送精美的 HTML 邮件:完整教程与实战示例

如何用 emailjs 发送精美的 HTML 邮件:完整教程与实战示例 【免费下载链接】emailjs html emails and attachments to any smtp server with nodejs 项目地址: https://gitcode.com/gh_mirrors/em/emailjs emailjs 是一款功能强大的 Node.js 库,能…...