小迪安全v2023学习笔记(七十四讲)—— 验证机制篇验证码绕过思路SRC挖掘演示

文章目录

  • 前记
  • WEB攻防——第七十四天
    • 机制验证篇&重定向发送&响应状态码&跳过步骤&验证码回传&枚举
      • 验证码突破 - 回传显示&规律爆破
        • 漏洞原理
        • 案例演示
          • 回传显示
          • 规律爆破
      • 验证目标 - 重定向发送&重定向用户
        • 漏洞原理
        • 案例演示
          • 重定向发送
          • 重定向用户
      • 验证逻辑 - 修改响应包&跳过步骤URL
        • 漏洞原理
        • 案例演示
      • 实战SRC案例分享
        • 短信验证码回传显示
        • 修改用户对象重置任意用户
        • 修改响应包重置任意用户
        • 未验证导致重置任意用户
        • 总结

前记

  • 今天是学习小迪安全的第七十四天,本节课主要内容是关于验证码机制的,常见的三种验证方式就是手机验证码、短信验证码、短信验证链接,这里讲了如何去尝试绕过他们的几种方法
  • 主要以理解绕过思路为主,当然也需要下去自己复现理解思路逻辑
  • 所需要的靶场资源已放至下方链接,需要自取:
    • https://pan.baidu.com/s/1YSjyW4ehxfDrqeeWjEXsSA
    • 提取码:gaii

WEB攻防——第七十四天

机制验证篇&重定向发送&响应状态码&跳过步骤&验证码回传&枚举

验证码突破 - 回传显示&规律爆破

漏洞原理
  • 回传显示这个完全是属于开发者设计失误,将验证码回显到数据包中,导致攻击者能够直接得到验证码,绕过
  • 规律爆破这里,主要是验证码校验时位数有限或者规律可知,并且验证码存活时间长没有提交次数限制,导致攻击者可以通过爆破枚举的方式绕过
案例演示
回传显示
  • 这里之前碰到过一个真实案例,直接将验证码回显到数据包中,能够直接绕过:
    在这里插入图片描述

  • 但是现在这种例子应该比较少了,gay迪上面演示的例子应该也是很早之前的例子了

  • 首先找到发送验证码的页面,然后抓包:
    在这里插入图片描述
    在这里插入图片描述

  • 发现验证码就直接回显在数据包中,那这时就直接绕过了

  • 或者有些不是直接回显,而是你输入错误的验证码,服务器回显正确的验证码:
    在这里插入图片描述

  • 反正都可以测,这种漏洞也是越来越少了

规律爆破
  • 这里福利期货APP应该是没了,不知道为什么我这边模拟器打不开,那我们就理解这个思想就好了

  • 其实就是响应包中附带自己提交的验证码值,然后利用BP去爆破:
    在这里插入图片描述

  • 看哪个成功就直接用,不过现在都是6位验证码,而且规定了时间,所以基本是很难爆破了

验证目标 - 重定向发送&重定向用户

漏洞原理
  • 重定向发送就是尝试将本来发送给别人的验证码发送到我们自己这里,造成绕过
  • 重定向用户就是我们自己接收验证码,然后提交时将用户换成目标用户,造成绕过
  • 核心都是尝试将验证码发送给我们自己,只不过更改的步骤不同,相当于正常接收验证码的步骤是:
用户填入正确电话/邮箱 -->  发送验证码  -->  接收验证码  -->  进入下一步操作
  • 重定向发送是在第一步到第二步之间,而重定向用户是在第三步到第四步之间
案例演示
重定向发送
  • 这里演示的案例是MetInfo,搭建环境为PHP5.4MySQL5.7,搭建教程略过

  • 我们需要先配置一下邮箱设置,登录到后台,然后点击设置,找到邮件发送设置,填入相应的信息:
    在这里插入图片描述

  • 注意密码填入的是邮箱的授权码,不知道怎么获取授权码的可以上网查一查,这里我用的是163邮箱,然后是在这里获取的授权码:
    在这里插入图片描述

  • 好,我们退出登录重新来到后台登录页面,选择忘记密码,使用电子邮箱找回,然后输入自己用户名或电子邮箱:
    在这里插入图片描述

  • 点击下一步抓包:
    在这里插入图片描述

  • 这里是有一个met_host参数可以传入的,他可以将服务器发送数据包的地址修改为自己的,如 nc 监听的一个端口

  • 这里在自己的服务器上开启监听,然后发包,按道理来说是能够成功的,但是我本地是没有复现成功,如果成功接收是这样:
    在这里插入图片描述

  • 然后点击链接就可以重置别人的密码了

  • 这里给我们的启示就是如果数据包中出现这样的参数,我们可以尝试修改为自己,让他的流量经过我们本地

重定向用户
  • 这里演示案例是EyouCMS,搭建环境为PHP7.3MySQL5.7,搭建教程就略过了

  • 然后我们配置一下电子邮件,登录到后台,然后选择接口配置,找到电子邮件配置,同样填入相应的信息即可:
    在这里插入图片描述

  • 配置好之后,我们先注册两个用户:

+ 用户A:用户名: test01密码: test01邮箱: test01@qq.com (这里换成你的真实邮箱)+ 用户B:用户名: test02密码: test02邮箱: test02@qq.com (这里换成你的真实邮箱)
  • 然后我们通过找回密码处,尝试找回test01的密码:
    在这里插入图片描述

  • 这里我们可以尝试抓包看看:
    在这里插入图片描述

  • 我们尝试将email的值修改为test02的邮箱,发包:
    在这里插入图片描述

  • 然后我们就成功进入test02用户的重置密码界面:
    在这里插入图片描述

  • 这里能不能修改成功只用试一下就好了,这里就不继续演示了

  • 这就是重定向用户,其实他的原理就是通过邮箱去绑定了用户,并且没有做验证码与当前邮箱绑定的判断,导致任何邮箱都可以利用当前的验证码绕过,造成漏洞

验证逻辑 - 修改响应包&跳过步骤URL

漏洞原理
  • 修改响应包主要是因为网站采用的是前端验证的方式,我们可以通过拦截服务器的响应包,将其修改为正确的返回值,尝试绕过验证码验证
  • 而URL跳过步骤则是我如果能够完整的抓到比如忘记密码步骤的包,那么可以尝试直接跳到最后一步绕过验证码
  • 修改响应包是针对于验证在前端的
    1. 通过手机找回密码一般需要短信验证码验证,服务端需要告诉客户端,输入的验证码是否正确,如果客户端收到 true 的信息,那么就会向带着 true 的信息向服务端请求进入下一步,而服务端收到 true 的信息,就会允许客户端进入下一步,反之,如果是 false 的信息,服务端就不会允许客户端进入下一步。也就是说我们进入下一步的关键是让服务端收到客户端的 true 信息,而借助 burpsuite,我们可以修改服务端返回到客户端的信息,这样一来,我们就可以输入任意短信验证码,然后将服务端返回的 false 信息改为 true 就可以绕过短信验证码的验证了。
    2. 找回密码流程一般需要四个步骤:
      • 流程:验证用户名 - 验证短信验证码 - 输入新密码 - 重置成功
      • 这四个步骤应该紧紧相连,互相相关,只有通过了第一个步骤验证才可以进入下一个步骤,如果每个步骤之间没有进行关联性验证,就可能导致跳过关键验证步骤,从而导致重置任意账号密码。
  • 实战中先每个流程正确的数据包以及响应包抓取下来,然后进行后续测试
案例演示
  • 这里那个福利期货演示不了,没办法打开,只能说是看视频然后了解有这种测试思路即可
  • 其实很简单,基本就是先测试一遍正确的流程,然后再对响应包进行修改,看能不能尝试绕过

实战SRC案例分享

  • 这里同样来看看实战中的SRC漏洞的挖掘,学习一下测试思路
短信验证码回传显示
  • 这里就是上面说过的,不再演示
修改用户对象重置任意用户

在这里插入图片描述

  • 这里就是忘记密码的时候抓包,发现他有一个userid的参数,我们可以尝试修改该参数为他的前一位id
  • 为什么是前一位呢,因为如果他是递增的id值,那么后面的id可能就没有被注册过,也就没什么用
  • 然后这里修改之后发现能够成功重置其他用户的信息
修改响应包重置任意用户
  • 还是一样到重置密码功能处,发送验证码然后抓包:
    在这里插入图片描述

  • 我们这里可以测试重定向,或者抓取服务器的响应包看看:
    在这里插入图片描述

  • 发现他的回显为false,并且提示验证码错误,那我们是不是可以猜测返回值为true或者success这些就说明验证码正确呢

  • 于是修改响应包中的返回值为true,然后放包,发现他提示验证码正确,并成功进入重置密码页面:
    在这里插入图片描述
    在这里插入图片描述

未验证导致重置任意用户
  • 这里就是开发者在验证的时候没有判断当前id和验证码信息是否绑定,导致攻击者可以通过修改参数r为其他的用户id,就能够重置其密码
    在这里插入图片描述
总结
  • 所以总的来说,其实就是看参数,然后修改再修改,看看开发者有没有存在逻辑上的纰漏

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

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

相关文章

福彩双色球第2025100期篮球号码分析

福彩双色球第20250100期篮球号码分析,上期开出数字14,数字形式是2路球,合数偶数,大号区域数字!最近十几期篮球明显大号区域得数字比较多,本期直接排除大号区域数字10-11-12-13-14-15-16。最近十几期篮球出合…

【74LS112JK触发器三进制】2022-10-8

缘由双jk触发器的工作原理是什么-其他-CSDN问答 JK触发器和触发器中最基本的RS触发器结构相似,其区别在于,RS触发器不允许R与S同时为1,而JK触发器允许J与K同时为1。当J与K同时变为1的同时,输出的值状态会反转。也就是说&#xff…

ABAP - CPI - pass header parameter and filter parameter to odata service

e.g. call the cpi service from postman, and pass the header parameter and filter parameter to it:in the CPI integration flow (iflow), create the iflow as below:deploy this iflow, then use postman to test it, set breakpoint in backend odata service:

大规模数据抓取挑战:Python反爬虫策略与数据去重技术全面解析

引言 在进行大规模数据抓取时,爬虫面临的两大挑战是:反爬虫技术和数据去重。随着网络爬虫的广泛应用,网站和平台越来越注重保护其数据,采取了各种反爬虫措施,防止数据被恶意抓取。而在抓取过程中,如何有效去…

【Python学习笔记】whl包打包

将python代码、文件、数据打成一个whl包,可以直接pip 安装到系统中,有两种方法:(1)setup.py;(2)pyproject.toml1. 使用setup.py├── CHANGELOG.md ├── README.md ├── build …

Mac Pro M4芯片 安装 VMware Fusion 和 windows

Mac Pro M4芯片 安装 VMware Fusion 和 windows 吐槽: 第一次从Intel芯片换成M芯片Mac…虚拟机坑了我一把!搞了很久! 1、安装 VMwareFusion Pro 这个软件已经正式免费提供给个人用户使用! 【官网】 VMware Fusion Pro Download 1. 注册登录 省略…进入管理后台 2. 下载虚…

Carrier Aggregation Enabled MIMO-OFDM Integrated Sensing and Communication

文章目录C. Sensing ModeII. A NOVEL CA-ENABLED MIMO-OFDM ISAC SIGNAL PROCESSING METHODA. Signal Preprocessing StageB. Sensing Performance Analysis对支持 CA 的 ISAC 系统的研究可分为两类:带内 CA 和带间 CA。支持 CA 的 ISAC 系统的主要挑战在于信号设计…

Linux 下 Docker 容器部署指南(Java + Redis 示例)

Linux 下 Docker 容器部署指南(Java Redis 示例)一、Docker 镜像源配置二、构建 Docker 镜像三、运行 Docker 容器四、查看容器日志五、实践思考与扩展在 Linux 上部署 Java 应用到 Docker 容器中,并访问宿主机的 Redis 服务,是一…

智能聊天机器人-基于Spring AI实现

项目背景随着⼈⼯智能技术的快速发展和⼤模型开源趋势的兴起,智能聊天机器⼈在客服、知识问答、⽣活助⼿ 等领域得到了⼴泛应⽤,我们接下来模仿这些应用实现一个智能的聊天机器人核心功能1.对话支持用户和机器人之间的对话实时响应用户的输入,进行回答2.…

广东省省考备考(第九十天8.30)——判断推理(强化训练)

判断推理:类比推理(训练1) 错题解析 第一步:判断题干词语间逻辑关系。 绫、罗、绸、缎表示的是四种不同的丝织物,四者为并列关系,且分别都与丝织物构成包容关系中的种属关系。 第二步:判断选项词…

DFS 回溯 【各种题型+对应LeetCode习题练习】

目录 什么是深度优先搜索(DFS) DFS题型分类 DFS和回溯的关系 排列与组合 LeetCode 46 全排列 LeetCode 47 全排列 II LeetCode 39 组合总和 LeetCode 40 组合总和 II 子集 LeetCode 78 子集 LeetCode 90 子集 II 分割问题 LeetCode 131 分割…

大模型备案、算法备案补贴政策汇总【广东地区】

广州海珠 《广州市海珠区建设人工智能大模型应用示范区实施细则的通知》规定,自 2024 年 6 月 18 日起至 2027 年 3 月 20 日,大规模企业首次完成国家级生成式人工智能(大语言模型)上线备案的,可获得最高 100 万元一次…

鸿蒙服务端开发资料汇总

文章目录鸿蒙服务端开发资料汇总一、核心概念1.1 分布式架构1.2 微内核设计1.3 元服务架构二、技术栈2.1 开发语言2.2 开发框架与工具2.3 核心技术能力三、官方文档与资源3.1 官方文档3.2 示例代码与开源资源四、应用案例4.1 政务领域4.2 金融领域4.3 交通出行4.4 企业办公五、…

基于51单片机霍尔测速仪表测转速调速系统设计

1 系统功能介绍 本设计为 基于51单片机霍尔测速仪表测转速调速系统。系统以STC89C52单片机为核心,结合霍尔传感器、LCD1602显示模块、电位器调速电路与电机驱动模块,实现了对旋转装置的转速检测、数据显示以及实时调节电机转速的功能。 系统主要功能包括…

前端-初识Vue实例

一.准备容器 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head>…

基于FPGA的简易医疗呼叫器实现,包含testbench

目录 1.课题概述 2.系统测试效果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 医院护理呼叫系统是病人请求值班医生或护士进行紧急处理或咨询的工具&#xff0c;可将病人的请求快速传送给值班医生或护士。其基本功能就是通过一种简便的途径使护理对象与医…

Maya绑定基础:创建骨骼和蒙皮、蒙皮权重控制的两种方法

目录 1 创建骨骼和蒙皮 2 蒙皮权重控制 方法一 3 蒙皮权重控制 方法二 1 创建骨骼和蒙皮 新建一个圆柱体 把圆柱体拉长一点&#xff0c;调到前视图 骨架--创建关节 同时选中骨骼和模型&#xff0c;菜单栏--蒙皮--绑定蒙皮 对关节进行旋转 详细的步骤参考这个链接&#xf…

【Settings】OTA 升级时更新 Settings 数据库

一、问题描述 基于 Android 14平台&#xff0c;随着后续的 UI 更新需要将某个控制项的 Settings 值更新&#xff0c;需要更新 SettingsProvider 的值。二、问题分析 1. 定义一个 Settings 常量 frameworks/base/core/java/android/provider/Settings.java /*** Whether to use …

开发electron时候Chromium 报 Not allowed to load local resource → 空白页。

报错含义 主进程&#xff08;main.js&#xff09;里 win.loadFile()/win.loadURL() 指向了 file:///…/app.asar/build/index.html&#xff0c; 但打包后真正的文件位于 app.asar 内部&#xff0c;路径拼错&#xff0c;于是 Chromium 报 Not allowed to load local resource →…

Ethan独立开发新品速递 | 2025-08-30

每日精选Product Hunt上最值得关注的独立产品&#xff0c;发现全球创新灵感&#xff0c;助力你的产品成长。 下面从今天的 Product Hunt 热榜中筛选出对独立开发者&#xff08;尤其是注重开发工具、AI 工具、SaaS 与创业工具&#xff09;的10个最有参考价值的项目。筛选标准侧重…