4.10 业务逻辑测试
文章平均质量分 84
4.10 业务逻辑测试
开启学习模式
书山有路勤为径,学海无涯苦作舟。学无止境
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
4.10 业务逻辑测试
4.10.0 业务逻辑简介4.10.1 测试业务逻辑数据验证4.10.2 测试伪造请求的能力4.10.3 测试完整性检查4.10.4 过程定时测试4.10.5 一个函数可以使用的次数限制4.10.6 规避工作流程的测试4.10.7 测试对应用程序滥用的防御4.10.8 意外文件类型的测试上传4.10.9 测试恶意文件上传4.10.10 测试支付功能原创 2023-09-13 21:54:14 · 162 阅读 · 0 评论 -
4.10.0-业务逻辑简介
在多功能动态 Web 应用程序中测试业务逻辑缺陷需要以非常规方法进行思考。如果应用程序的身份验证机制是按照该特定顺序执行步骤 1、2、3 来验证用户。如果用户从第 1 步直接转到第 3 步,会发生什么情况?在这个简单的示例中,应用程序是否通过失败打开来提供访问权限;拒绝访问,还是只是错误地显示 500 消息?可以举出很多例子,但一个不变的教训是 “跳出传统智慧思考”。这种类型的漏洞无法被漏洞扫描程序检测到,它依赖于渗透测试人员的技能和创造力。原创 2023-10-19 09:24:48 · 102 阅读 · 0 评论 -
4.10.1-测试业务逻辑数据验证
应用程序必须确保只有逻辑上有效的数据才能在前端输入,以及直接输入到应用程序或系统的服务器端。仅在客户端/前端验证数据可能会使应用程序容易受到通过代理或与其他系统交接的服务器注入的影响。这与简单地执行边界值分析 (BVA) 不同,因为它更困难,并且在大多数情况下不能在入口点进行简单验证,而通常需要检查其他系统。例如:应用程序可能会要求您提供社会安全号码。在 BVA 中,应用程序应该检查输入的数据的格式和语义(值是 9 位数字长,不是负数,也不是全是 0),但也有一些逻辑注意事项。SSN 被分组和分类。原创 2023-10-19 09:31:29 · 128 阅读 · 0 评论 -
4.10.2-测试伪造请求的能力
伪造请求是攻击者用来绕过前端 GUI 应用程序直接提交信息进行后端处理的一种方法。攻击者的目标是通过拦截代理发送 HTTP POST/GET 请求,其数据值不受应用程序业务逻辑支持、防范或预期。伪造请求的一些示例包括利用可猜测或可预测的参数或公开“隐藏”的特性和功能,例如启用调试或显示特殊屏幕或窗口,这些屏幕或窗口在开发过程中非常有用,但可能会泄露信息或绕过业务逻辑。与伪造请求的能力相关的漏洞对于每个应用程序来说都是独一无二的,并且与业务逻辑数据验证不同,因为它的重点是破坏业务逻辑工作流。原创 2023-10-19 09:25:50 · 86 阅读 · 0 评论 -
4.10.3-测试完整性检查
许多应用程序旨在通过隐藏某些输入来根据用户或情况显示不同的字段。但是,在许多情况下,可以使用代理将隐藏字段值提交到服务器。在这些情况下,服务器端控件必须足够智能,以执行关系编辑或服务器端编辑,以确保根据用户和应用程序特定的业务逻辑允许服务器使用正确的数据。此外,应用程序不得依赖不可编辑的控件、下拉菜单或隐藏字段进行业务逻辑处理,因为这些字段仅在浏览器的上下文中保持不可编辑状态。用户可能能够使用代理编辑器工具编辑其值,并尝试操作业务逻辑。原创 2023-10-19 09:26:30 · 114 阅读 · 0 评论 -
4.10.4-测试Process Timing
攻击者可以通过监控完成任务或做出响应所需的时间来收集有关应用程序的信息。此外,攻击者可能能够操纵和破坏设计的业务流程,只需保持活动会话打开,而不是在 “预期 ”的时间范围内提交他们的交易。Process timing logic 漏洞的独特之处在于,这些手动误用案例的创建应考虑特定于应用程序/系统的执行和事务计时。处理时间可能会提供有关应用程序/系统后台进程中正在执行的操作的信息。原创 2023-10-19 09:27:02 · 88 阅读 · 0 评论 -
4.10.5-测试函数可以使用的次数限制
应用程序正在解决的许多问题都需要限制函数的使用次数或操作的执行次数。应用程序必须“足够智能”,不允许用户超过对这些功能的使用限制,因为在许多情况下,每次使用该功能时,用户都可能获得某种类型的好处,必须考虑到这些好处才能适当地补偿所有者。例如:电子商务网站可能只允许用户在每笔交易中应用一次折扣,或者某些应用程序可能采用订阅计划,并且只允许用户每月下载三个完整的文档。与功能限制测试相关的漏洞是特定于应用程序的,必须创建误用案例,努力使应用程序/功能/操作的某些部分的执行次数超过允许的次数。原创 2023-10-19 09:27:36 · 167 阅读 · 0 评论 -
4.10.6-规避工作流程的测试
工作流漏洞涉及任何类型的漏洞,这些漏洞允许攻击者以某种方式滥用应用程序/系统,从而允许他们规避(而不是遵循)设计/预期的工作流。工作流由一系列连接的步骤组成,其中每个步骤都无延迟或间隔地进行,并在后续步骤开始之前结束。它是对一系列操作的描述,声明为个人或小组的工作、员工组织或一个或多个简单或复杂的机制。工作流可以被视为实际工作的任何抽象。应用程序的业务逻辑必须要求用户以正确/特定的顺序完成特定步骤,如果工作流在未正确完成的情况下终止,则所有操作和生成的操作都将被“回滚”或取消。原创 2023-10-19 09:28:06 · 97 阅读 · 0 评论 -
4.10.7-测试应用程序滥用的防御措施
对有效功能的误用和无效使用可以识别试图列举 Web 应用程序、识别弱点和利用漏洞的攻击。应进行测试以确定是否有适当的应用程序层防御机制来保护应用程序。缺乏主动防御使攻击者能够在没有任何追索权的情况下寻找漏洞。因此,应用程序的所有者将不知道他们的应用程序正在受到攻击。原创 2023-10-19 09:28:36 · 107 阅读 · 0 评论 -
4.10.8-测试任意上传文件类型
许多应用程序的业务流程允许上传和操作通过文件提交的数据。但是业务流程必须检查文件,并且只允许某些 “已批准” 的文件类型。决定哪些文件是 “approved” 由业务逻辑决定的,并且是特定于应用程序 / 系统的。风险在于,通过允许用户上传文件,攻击者可能会提交意外的文件类型,该文件类型可能会被执行,并通过可能破坏站点、执行远程命令、浏览系统文件、浏览本地资源、攻击其他服务器或利用本地漏洞的攻击对应用程序或系统产生不利影响,仅举几例。原创 2023-10-19 09:29:09 · 89 阅读 · 0 评论 -
4.10.9-测试恶意文件上传
许多应用程序的业务流程允许用户向其上传数据。尽管输入验证对于基于文本的输入字段已被广泛理解,但在接受文件时实现起来会更加复杂。尽管许多网站根据允许(或阻止)的扩展名列表实施简单的限制,但这不足以防止攻击者上传包含恶意内容的合法文件类型。与上传恶意文件相关的漏洞是独一无二的,因为这些“恶意”文件很容易被拒绝,因为它包含了在上传过程中扫描文件并拒绝那些被视为恶意的文件的业务逻辑。此外,这与上传意外文件的不同之处在于,虽然可以接受文件类型,但该文件可能仍对系统造成恶意。原创 2023-10-19 09:29:40 · 203 阅读 · 0 评论 -
4.10.10-测试支付功能
许多应用程序都实现了支付功能,包括电子商务网站、订阅、慈善机构、捐赠网站和货币兑换。此功能的安全性至关重要,因为漏洞可能允许攻击者从组织窃取、进行欺诈性购买,甚至窃取其他用户的支付卡详细信息。这些问题不仅可能导致组织的声誉受损,还可能导致重大财务损失,包括直接损失和行业监管机构的罚款。原创 2023-10-19 09:30:11 · 167 阅读 · 0 评论
分享