什么是业务逻辑?
实际上,我们口口声声的业务逻辑,是只用代码实现的真实业务的规则映射。注意“规则”这个词,简单说,一个业务中,存在什么逻辑,可以通过在纸上画出不同业务对象之间的联系和约束,并将这些联系和约束一条条列出来,形成一个列表,而这列表中的每一条, 就是一条规则,这些规则的总和,就是这个业务的业务逻辑,而且是全部业务逻辑,你不能 再多列出一条了。
业务逻辑漏洞的成因
通俗讲就是在编写程序时,只考虑了常规的操作流程,即“当在A情况下,就会出现B,此时执行C即可”,但是开发者却没有考虑当用户执行了意料之外的X时会发生什么。这种对于异常情况的欠考虑,最终导致了安全漏洞的产生。
业务逻辑有哪些呢?
下面列举一些,比如:未授权访问、越权漏洞、支付漏洞、短信炸弹、用户名枚举、验证码问题、短信认证绕过、密码重置漏洞、SSO认证缺陷等等
未授权访问
什么是未授权访问?
未授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页 面或文本信息。 可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进 行访问,看是否能访问成功。
案列
因为这个很简单...........,所以就不写案列了。
越权漏洞
主要成因
越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时 对客户端请求的数据过分相信而遗漏了权限的判定。
分类
水平越权
指相同权限的不同用户可以互相访问
垂直越权
指使用权限低的用户可以访问权限较高的用户
图形化理解两种越权
越权漏洞的危害
通过对用户ID的遍历,就可以查看所有用户的敏感信息, 这也是一种变相的脱库,而且很难被防火墙发现,因为这和正常的访问请求没有什么区别,也不会 包含特殊字符,具有十足的隐秘性。
案列(水平越权)
某院小程序登录框,通过自己注册的账号以及信息收集收集到的手机号,进行burp抓包,修改手机号,从而达到信息泄露。
支付漏洞
什么是支付漏洞?
支付漏洞的理解通常都是篡改价格。比如,一分钱买任何东西。少收款、企业收费产品被免费使用,直接造成企业的经济损失。
常见的支付漏洞有哪些?
1.修改支付价格 2.修改支付状态 3.修改购买数量 4.修改附属值-运费 5.修改支付接口 6.多重替换支付 7.重复支付 8.最小额支付 9.值为最大值支付问题 10.越权支付 11.无限制试用 12.多线程并发。
案列(修改支付价格)
通过burp抓包——>拦截返回包——>修改金额——>提交金额。
危害
1、资金损失:支付漏洞使得攻击者可以直接或间接地将资金从受害者的账户中转走,造成直接的经济损失。
2、信息泄露:支付系统中的个人和交易信息如果被非法获取,可能会被用于身份盗窃、欺诈等犯罪行为。
3、用户信任度下降:支付漏洞的发生会导致用户对支付系统的安全性失去信心,影响支付平台的信誉和长期发展。
4、法律风险:支付漏洞可能导致支付服务提供商面临法律责任,如罚款、赔偿等。
系统安全风险:支付漏洞可能被黑客利用作为跳板,进一步攻击其它系统或网络。
防御方法
1、后端检查每一项值,包括支付状态;
2、校验价格、数量参数,比如产品数量只能为正整数,并限制购买数量;
3、与第三方支付平台检查,实际支付的金额是否与订单金额一致;
4、支付参数进行MD5 加密、解密、数字签名及验证,这个可以有效的避免数据修改,重放攻击中的各种问题;
5、金额超过阈(yu)值,进行人工审核;
6、加密(起码可以筛掉一批不懂技术的),但是加密可能被解密,且加密也可以复用。正常情况下加密算法是由前端决定,因为在传输之前,后端根本没收到信息,而传输的时候就已经是加密过的信息了,而前端的代码都是公开的)
密码找回漏洞
流程
首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包;其次分析数据包,找到敏感部分;之后分析后台找回机制所采用的验证手段;最后修改数据包验证推测。
常见漏洞点有哪些?
1、验证码暴力破解 2、验证码直接返回 3、跳过验证步骤 4、利用邮箱、手机号绑定 5、第三方登录绑定其他用户 6、没有验证验证码接受手机号是否与username或者session一致 01 密码找回漏洞 密码找回漏洞 7、本地验证绕过,等等。
案列
因为这个很简单...........,所以就不写案列了。