业务逻辑之身份认证

  • 实现业务功能的逻辑不严谨导致的漏洞
  • 业务流程分类

    • 用户身份验证
    • 会话管理
    • 角色和权限识别
    • 资源访问
    • 交易和支付
    • 密码重置和安全设置
    • 日志记录和审计
    • url参数
      • 某些参数可以表示用户权限(身份)
    • http请求头
      • 用户身份验证信息存在请求头部中的 Authorization字段中
    • http请求正文
    • Cookies
    • 数据库记录
    • 服务器端会话状态
    • 客户端状态
    • 日志文件
    • 后端应用程序代码
    • 前端应用程序代码
  • 逻辑漏洞危害性标准

    • 数据泄露和隐私问题
      • 数据保护措施不到位导致的用户数据的泄露
    • 未授权访问
      • A能看到B、C等用户的一些信息;如订单信息等
    • 金融损失
    • 合规性问题
      • 数据保护问题可能会导致公司被起诉;安全性法规
    • 业务中断
      • 业务功能中断;无法访问该业务功能;用户可能流失
    • 拒绝服务
      • 服务器宕机;无法访问
    • 恶意行为和欺诈
      • 公司损失,名誉受损
    • 声誉损失
    • 长期存在和影响
      • 长期不安全因素的存在会导致用户的流失
    • 难以检测
      • 逻辑漏洞的产生没有具体的标准,因此难以检测
  • 漏洞挖掘思路

    • 边界条件测试
      • 购物车数量使用负数或超过最大值进行测试;看是否有数量检测漏洞
    • 交叉验证
      • 删除帖子后快速恢复帖子,查看帖子状态是否有改变
    • 颠倒顺序
      • 对于选择有先后顺序要求的,如订票先选定日期后选定座位
    • 重复操作
      • 重复投票
    • 越权操作
      • 通过低权限账号实现了高权限账号的操作
      • 如医生账号可以看患者病历,登入患者账号可以尝试查看其他患者病历,如果可以则存在越权漏洞
    • 并发操作
      • 多用户购买同一商品(超出库存),查看是否会因为库存不一致导致出错
    • 审查业务逻辑代码
      • 代码审计的内容,通过代码查看逻辑;
      • 如在线投票程序;投票结束了依然能够投票
  • 身份验证问题

    • 验证码
      • 类型
        • 图片验证码
          • 滑动验证码、普通图片验证码、数字算法验证码等
          • 随机性
            • 字符、颜色、字体、位置等随机
          • 失真或噪音
            • 一堆污点或斜线,导致无法轻易识别中间的验证码
          • 时间限制
            • 验证码有输入时间限制
          • 可绕过的情况
            • 图像验证码不刷新或无效
              • session验证,保证session或cookie不变就行
            • 验证码复用
              • session验证,保证session或cookie不变就行
            • 存在无验证界面
            • 万能验证码
              • 0000 6666 9999 等用于测试的验证码
            • 验证码数量有限
              • 将有限的图片保存生成字典进行爆破
            • 简单验证码识别
        • 短信验证码
          • 通过手机号进行验证
          • 绕过方法
            • 短信验证码生命期限内可暴力枚举
              • 一些短信验证码有五分钟或十分钟的时间有效期
            • 短信验证码在数据包中返回
              • 可能出现验证码存在数据包中的情况(虽然感觉不合理)
            • 修改请求数据包参数或 Cookie 值绕过
              • 某些参数可能可以规避短信验证码验证
            • 修改返回包绕过
              • 针对前端验证,通过修改返回包的状态码进行绕过
            • 攻破短信验证码接口
              • 找到对应网站使用的短信验证码接收平台,攻破该平台也能进行登录
            • 默认万能验证码
              • 0000 9999等
            • 验证码无校验
      • 场景

        • 登录注册重置密码
        • 活动秒杀
        • 点赞发帖
        • 数据保护
          • 支付
          • 修改重要账户信息
          • 评论私信留言
      • 漏洞修复方案
        • 增加复杂性
        • 添加噪音或失真
        • 动态验证码
        • 图像反扭曲
        • 多因素身份验证
        • 定期更新设计
    • 身份验证
      • 利用场景
        • 用户登录
        • 多因素身份验证
        • 社交媒体登录
        • 密码重置
        • API身份认证
        • SSO单一登录
        • 电子商务支付
        • 云服务和存储
      • 绕过手段
        • 暴力破解(用户名、密码)
        • cookie和session验证
          • 利用插件修改cookie中的某个参数冒仿他人登录
        • 弱加密
          • token固定或者为用户名的编码,可以猜到的
      • 防御手段
        • 多因素认证
        • 密码策略
        • 防止暴力破解
        • 单点登录
        • 安全问题和答案
        • 弱密码检测
    • 密码找回
      • 测试流程
        • 点击正常的密码找回,尝试各种找回条件,记录所有数据包
        • 分析数据包,找到敏感的参数或者数据信息
        • 分析后台找回机制采用的验证手段
        • 修改数据包验证推测
      • 绕过手段
        • 验证码暴力破解
        • 验证码直接返回
        • 跳过验证步骤
        • 利用邮箱、手机号进行绑定
        • 第三方登录绑定其他用户
        • 无验证手机号是否为绑定手机号
        • 本地验证绕过
        • 重置密码最后一步uid或者username可控
        • 个人中心修改密码逻辑错误
        • 利用session重新绑定用户
        • 去掉验证参数绕过验证
        • 任意输入验证码修改用户密码
      • 防御手段
        • 验证码防御
        • 多重验证手段验证:绑定手机号、用户名、邮箱等
        • 只提供修改密码的界面,不提供其他任何可操作参数
    • 用户输入合规性
      • 用户的输入要符合系统的标准、规则、约束;以确保功能正常的运行
      • 利用场景(所有输入的地方)
        • 表单验证
        • 支付信息
        • 身份验证
        • 数据过滤
        • 搜索引擎查询
        • 评论和反馈
        • 电话号码验证
        • 电子邮件验证
      • 利用手段
        • 注入测试
        • xss测试
        • 数据极端性测试
          • 超长字符串测试
          • 特殊符号
          • 整数溢出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/803435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单链表学习

//静态链表&#xff0c;只往后看&#xff0c;找前面必须遍历 //算法题用数组解题更快速 //初始化,头节点为空 //将x插入到头节点 //将x插到结点k的后面 //将下标k的后面的点删掉 #include<algorithm> #include<iostream> #include<cstring> #include<queu…

Leetcode:27.移除元素

题目要求 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出…

智能单灯控制器 计讯物联TL112

智能单灯控制器集成了先进技术的照明控制设备&#xff0c;它极大地改变了传统照明方式&#xff0c;并使之更加智能化。计讯物联智能单灯控制器TL112广泛应用于道路、景区、园区、隧道等场景智慧路灯杆使用。      智能单灯控制器通过集成最先进的传感器、控制模块和通信技术…

基于vue实现动态table

1、代码 <div style"height: 600px; overflow: scroll;"> <!-- height: 600px; overflow: scroll;作用是超出页面可以滑动 --><div ng-repeat"row in entity.procedureList"><cb-title title"工序{{row.procedireLocation}}&quo…

SpringBoot整合RabbitMQ,三种交换机类型示例

SpringBoot整合RabbitMQ&#xff0c;三种交换机类型示例 1、流程概括 2、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>3、配置RabbitMQ连接 在a…

【C++成长记】C++入门 |auto、范围for、nullptr

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;C❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、auto关键字 1、auto简介 2、auto的使用细则 &#xff08;1&#xff09; auto与指针和引用结合起…

多线程入门

文章目录 多线程相关的概念什么是多线程多线程的创建方式继承Thread方式实现Runable方式两种方式比较Thread类中常用方法 多线程相关的概念 并发与并行 并行&#xff1a;在同一时刻&#xff0c;有多个任务在多个CPU上同时执行。并发&#xff1a;在同一时刻&#xff0c;有多个任…

[网鼎杯 2020 玄武组]SSRFMe

[网鼎杯 2020 玄武组]SSRFMe 源码 <?php function check_inner_ip($url) {$match_resultpreg_match(/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/,$url);if (!$match_result){die(url fomat error);}try{$url_parseparse_url($url);}catch(Exception $e){die(url foma…

Linux内核

一、 内核开发与逻辑开发对比 内核开发&#xff1a; 需要应用程序调用API去在操作系统里对硬件进行操作。操作系统不允许用户直接去通过置GPIO口1或者0去控制硬件&#xff0c;为了管理这一切。操作系统将整个开发中分成了两个空间&#xff0c;一个是用户空间&#xff08;上两…

HarmonyOS 开发-Navigation页面跳转对象传递案例

介绍 本示例主要介绍在使用Navigation实现页面跳转时&#xff0c;如何在跳转页面得到转入页面传的类对象的方法。实现过程中使用了第三方插件class-transformer&#xff0c;传递对象经过该插件的plainToClass方法转换后可以直接调用对象的方法&#xff0c; 效果图预览 使用说…

pta L1-011 A-B

L1-011 A-B 分数 20 全屏浏览 切换布局 作者 陈越 单位 浙江大学 本题要求你计算A−B。不过麻烦的是&#xff0c;A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉&#xff0c;剩下的字符组成的就是字符串A−B。 输入格式&#xff1a; 输入在2行中先后给出…

YOLOv9改进策略 :小目标 | 新颖的多尺度前馈网络(MSFN) | 2024年4月最新成果

💡💡💡本文独家改进:多尺度前馈网络(MSFN),通过提取不同尺度的特征来增强特征提取能力,2024年最新的改进思路 💡💡💡创新点:多尺度前馈网络创新十足,抢先使用 💡💡💡如何跟YOLOv8结合:1)放在backbone后增强对全局和局部特征的提取能力;2)放在detect…

蝙蝠优化算法(bat optimization algorithm)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 算法背景 蝙蝠优化算法&#xff08;Bat Algorithm&#xff09;是一种基于群体智能的优化算法&#xff0c;它的灵感来源于蝙蝠捕食时的回声定位行…

Linux(Ubuntu)中创建【samba】服务,用于和Windows系统之间共享文件

目录 1.先介绍一下什么是Samba 2.安装&#xff0c;配置服务 安装 配置&#xff08;smb.conf&#xff09; 配置用户 3.出现的问题&#xff08;Failed to add entry for user XXXX&#xff09; 4.创建文件夹 5.windows访问 6.其他 Samba【服务状态】查看 Samba服务启动…

面试必问 - CSS 中元素居中小技巧

在网页设计中&#xff0c;居中是一个至关重要的布局技巧&#xff0c;能够确保你的页面在不同设备和屏幕尺寸上呈现出优雅的样式。 在这篇文章中&#xff0c;将介绍一些 CSS 居中的基本技巧&#xff0c;适用于各种场景。 1. 水平居中 文本水平居中 通过设置 text-align: cen…

Training - Kubeflow 的 PyTorchJob 配置 DDP 分布式训练 (ncclInternalError)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/137569332 Kubeflow 的 PyTorchJob 是 Kubernetes 自定义资源&#xff0c;用于在 Kubernetes 上运行 PyTorch 训练任务&#xff0c;是 K…

网格矢量如何计算莫兰指数

网格矢量如何计算莫兰指数 引言 遇到一个问题&#xff0c;计算矢量网格的莫兰指数。 概念解释 莫兰指数 莫兰指数&#xff08;Moran’s Index&#xff09;是一种空间自相关指标&#xff0c;用于衡量空间数据的相似性和聚集程度。它可以用来描述一个区域与其邻近区域之间的属…

MySQL之函数:字符串函数、日期函数、数值函数、流程函数

字符串函数&#xff1a;用于对文本数据进行操作和处理 CONCAT&#xff1a;用于将多个字符串连接成一个字符串。 SELECT CONCAT(Hello, , World); -- 输出: Hello WorldSUBSTRING&#xff1a;用于截取字符串的子串。包前不包后&#xff0c;从1开始 SELECT SUBSTRING(MySQL, 1, …

这4大流氓软件,以后看见记得绕着走。

第一个&#xff0c;2345浏览器。时不时弹出广告&#xff0c;还会自动修改你的默认主页&#xff0c;并且很难修改回去。 第二个&#xff0c;搜狗输入法。别以为它打字很方便&#xff0c;实际上弹广告也很方便。 第三个&#xff0c;快压。解压不仅给你弹广告&#xff0c;还能让…

TCP-IP详解卷一:协议——阅读总结

该内容适合程序员查看 第1章 概述 1.1 引言 WAN全称是 Wide Area Network&#xff0c;中文名为广域网。 LAN全称是 Local Area Network&#xff0c;中文名为局域网。 1.2分层 ICP/IP协议族通常被认为是一个四层协议系统 分层协议应用层Telnet、FTP和e-mail运输层TCP和UDP网…