逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误。通俗地讲:一个系统的功能太多后,程序开发人员难以思考全面,对某些地方可能有遗漏,或者末能正确处理,从而导致逻辑漏洞。逻辑漏洞也可以说是程序开发人员的思路错误、程序开发人员的逻辑存在漏洞。
(1)遍历
(2)越权
(3)支付
(4)条件竞争
非常隐蔽,危害巨大
越权,就是超出了权限或权力范围。多数 Web 应用都具备权限划分和控制,但是如果权限控制功能设计存在缺陷,那么攻击者就可以通过这些缺陷来访问未经授权的功能或数据,这就是我们通常说的越权漏洞。攻击者越权后就可以进行一些操作,例如查看敏感信息、进行一些增删改查的操作等等。 越权漏洞是一种很常见的逻辑安全漏洞。是由于服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致修改相关参数就可以拥有了其他账户的 增、删、查、改功能,从而导致越权漏洞
指攻击者尝试访问与他拥有相同权限的用户资源。

垂直越权是一种 “基于URL的访问控制” 设计缺陷引起的漏洞,垂直越权可以分为两种,分别是向上越权和向下越权。

支付漏洞是系统的支付流程中 存在业务逻辑层面的漏洞。 所有涉及购买、支付等方面的功能处就有可能存在支付漏洞

还可以利用一些条件竞争或者弱类型比较

验证码(CAPTCHA)作为人机区分的手段,在计算机安全领域发挥着不可小觑的作用。缺少验证码,攻击者可通过暴力破解的方式非法接管用户账户,或对网站进行任意用户注册等。设置验证码就是为了防止自动化攻击,但是如果没有设计好的话就形同虚设,所以了 解验证码的原理及产生漏洞的原因有助于更加全方位的提高网站的安全指数
Step1:客户端发起请求
Step2:服务端响应并创建一个新的SessionID同时生成随机验证码
Step3:将验证码和SessionID一并返回给客户端
Step4:客户端提交验证码连同SessionID给服务器
Step5:服务器验证验证码同时销毁当前会话,返回给客户端结果
(1)图片验证码
(2)手机短信验证码
(3)行为式验证码
(4)语音验证码
(5)视频验证码

(1)验证码可爆破
(2)验证码有回显
(3)验证码固定
(4)验证码可猜测
(5)验证码可绕过
(6)验证码无效
(7)验证码由客户端生成、验证
(1)使用安全性强的验证码
(2)验证码不应由客户端生成或返回到客户端
(3)系统在开发时注意验证识别后销毁session中的验证码
(4)限制用户提交的验证码不能为空,服务端对手机/邮箱的验证码进行二次校验安全性强的验证码
(2)验证码不应由客户端生成或返回到客户端
(3)系统在开发时注意验证识别后销毁session中的验证码
(4)限制用户提交的验证码不能为空,服务端对手机/邮箱的验证码进行二次校验