pawan-9999/Business-Logic-Vulnerabilities-PortSwigger-Web-Security-Academy
GitHub: pawan-9999/Business-Logic-Vulnerabilities-PortSwigger-Web-Security-Academy
该仓库整理了 PortSwigger Web Security Academy 业务逻辑漏洞实验室的解题报告,帮助安全学习者理解应用程序工作流与业务流程缺陷的识别与利用方法。
Stars: 0 | Forks: 0
# Business-Logic-Vulnerabilities-PortSwigger-Web-Security-Academy
本仓库包含了在 PortSwigger Web Security Academy 上完成的业务逻辑漏洞实验室的解题报告。这些实验室展示了攻击者如何利用应用程序工作流和业务流程中的缺陷,而不是像 SQL Injection 或跨站脚本攻击(XSS)等传统的技术漏洞。
这些实验室的重点在于理解不安全的假设、不一致的验证以及对用户可控数据的不当信任,如何导致权限提升、未经授权的操作和经济损失。
#实验室 1:过度信任客户端控制
目标
通过操纵客户端控制,购买超出可用商店额度的产品。
漏洞
应用程序依赖客户端验证来执行产品定价和购买限制。客户端发送的敏感值在没有经过充分的服务器端验证的情况下就被信任了。
方法论
将产品添加到购物车。
使用 Burp Suite 拦截请求。
识别与产品定价相关的用户可控参数。
在转发请求之前修改参数值。
观察服务器是否接受了被篡改的值。
降低有效购买价格,并使用可用的商店额度完成交易。
影响
攻击者可以操纵定价信息并以未经授权的价格购买产品,从而导致经济损失并损害业务完整性。
关键要点
切勿信任客户端控制来进行安全决策。
定价和授权检查必须始终在服务器上进行验证。
用户提供的值应被视为不受信任的输入。
实验室 2:高级逻辑漏洞
目标
利用应用程序购买工作流中的缺陷,在额度不足的情况下获取昂贵的商品。
漏洞
应用程序未能正确验证购物车数量,允许提交负值。这引入了一个业务逻辑漏洞,可被滥用以操纵最终的购买总额。
方法论
将一件低价商品添加到购物车。
拦截购物车更新请求。
将数量参数修改为负值。
迫使应用程序计算出负的购物车余额。
将目标产品添加到购物车。
利用被操纵的负余额抵消产品价格。
在可用的商店额度限制内完成购买。
影响
攻击者可以利用有缺陷的业务规则,以大幅降低的价格购买产品,或者可能在未正确付款的情况下获取商品。
关键要点
输入验证必须包括业务规则验证。
负数和边界值应得到妥善处理。
安全测试应包括工作流和交易分析。
实验室 3:不一致的安全控制
目标
通过利用不一致的验证机制来获取对管理界面的访问权限。
漏洞
应用程序在注册期间强制执行邮箱域名限制,但在用户创建账户后更新其邮箱地址时,却未能应用相同的验证。
方法论
发现受限的管理功能。
使用批准的邮箱地址注册一个普通用户账户。
通过邮件确认流程验证账户。
导航到账户管理功能。
将注册的邮箱地址更改为受信任的企业域名。
由于不一致的安全验证而获得了提升的权限。
访问管理界面并完成实验室目标。
影响
攻击者可以通过利用应用程序工作流中验证逻辑的差异来提升权限,并获得未经授权的管理访问权限。
关键要点
安全控制必须在所有工作流中保持一致应用。
身份和权限验证应该集中管理。
访问控制决策不应仅仅依赖于可变的用户属性。
练习的技能
业务逻辑测试
访问控制评估
权限提升分析
HTTP 请求操纵
Burp Suite Repeater
Web 应用程序安全测试
输入验证测试
工作流分析
使用的工具
Burp Suite 社区版
PortSwigger Web Security Academy
Firefox 浏览器
HTTP 代理拦截
结论
这些实验室强调,并非所有的安全漏洞都源于编码错误或技术缺陷。薄弱的业务流程、不一致的验证以及不正确的信任假设可能会引入同样严重的安全风险。理解应用程序逻辑并从攻击者的角度测试工作流,对于在安全评估期间识别这些漏洞至关重要。
标签:Modbus, Web安全, Writeup, 业务逻辑漏洞, 漏洞复现, 蓝队分析