• DAY25:逻辑漏洞


    DAY25:逻辑漏洞

    1、逻辑漏洞简介

    ​ 逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误。通俗地讲:一个系统的功能太多后,程序开发人员难以思考全面,对某些地方可能有遗漏,或者末能正确处理,从而导致逻辑漏洞。逻辑漏洞也可以说是程序开发人员的思路错误、程序开发人员的逻辑存在漏洞。

    1.1、漏洞类型

    (1)遍历

    (2)越权

    (3)支付

    (4)条件竞争

    1.2、特性

    非常隐蔽,危害巨大

    2、越权漏洞

    2.1、漏洞概述

    ​ 越权,就是超出了权限或权力范围。多数 Web 应用都具备权限划分和控制,但是如果权限控制功能设计存在缺陷,那么攻击者就可以通过这些缺陷来访问未经授权的功能或数据,这就是我们通常说的越权漏洞。攻击者越权后就可以进行一些操作,例如查看敏感信息、进行一些增删改查的操作等等。 越权漏洞是一种很常见的逻辑安全漏洞。是由于服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致修改相关参数就可以拥有了其他账户的 增、删、查、改功能,从而导致越权漏洞

    2.2、漏洞类型

    (1)水平越权

    指攻击者尝试访问与他拥有相同权限的用户资源。

    请添加图片描述

    (2)垂直越权

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

    请添加图片描述

    3、支付漏洞

    3.1、漏洞概述

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

    请添加图片描述

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

    请添加图片描述

    4、验证码漏洞

    4.1、漏洞概述

    ​ 验证码(CAPTCHA)作为人机区分的手段,在计算机安全领域发挥着不可小觑的作用。缺少验证码,攻击者可通过暴力破解的方式非法接管用户账户,或对网站进行任意用户注册等。设置验证码就是为了防止自动化攻击,但是如果没有设计好的话就形同虚设,所以了 解验证码的原理及产生漏洞的原因有助于更加全方位的提高网站的安全指数

    4.2、验证码的机制原理

    Step1:客户端发起请求

    Step2:服务端响应并创建一个新的SessionID同时生成随机验证码

    Step3:将验证码和SessionID一并返回给客户端

    Step4:客户端提交验证码连同SessionID给服务器

    Step5:服务器验证验证码同时销毁当前会话,返回给客户端结果

    4.3、验证码分类

    (1)图片验证码

    (2)手机短信验证码

    (3)行为式验证码

    (4)语音验证码

    (5)视频验证码

    请添加图片描述

    4.4、验证码的利用

    (1)验证码可爆破

    (2)验证码有回显

    (3)验证码固定

    (4)验证码可猜测

    (5)验证码可绕过

    (6)验证码无效

    (7)验证码由客户端生成、验证

    5、验证码漏洞

    (1)使用安全性强的验证码

    (2)验证码不应由客户端生成或返回到客户端

    (3)系统在开发时注意验证识别后销毁session中的验证码

    (4)限制用户提交的验证码不能为空,服务端对手机/邮箱的验证码进行二次校验安全性强的验证码

    (2)验证码不应由客户端生成或返回到客户端

    (3)系统在开发时注意验证识别后销毁session中的验证码

    (4)限制用户提交的验证码不能为空,服务端对手机/邮箱的验证码进行二次校验

  • 相关阅读:
    java经典例题30道——(26-30)
    smartbi 进行mongodb数据源的安装
    苹果电脑为什么无法删除U盘的文件?mac怎么删除移动硬盘里的文件
    从0到1利用express搭建后端服务
    网页优化(布局优化、图片优化)
    使用群晖实现Videostation电影的大容量存储及分享教程
    FreeRTOS最全教程(目录)
    [ Shell ] 通过 Shell 脚本导出 CDL 网表
    Python 算法交易实验41 GMM简单估计
    【我的两周年创作纪念日】
  • 原文地址:https://blog.csdn.net/qq_49433473/article/details/126233988