【web安全】短信等各类验证码的绕过思路整理

前言

本文是对一些验证码可能出现的问题的总结。

验证码的种类分析

首先验证码有两种:

1.短信验证码,这种通常出现在一些登录,修改绑定信息等位置处。

2.人机验证码,这种一般是用来防止机器操作和密码爆破的,通常是一些识别文字数字,滑动识别图片等形式出现

人机验证码的安全问题

验证码不变化

有时候输入密码什么的这种界面的验证码,只要输入之后,即使密码错误了也不会变化。

这种情况就可以实现密码爆破了,手动输入密码之后直接爆破就可以了。

以下为某个真实网站的案例

验证码前端回显

这种情况是指验证码会通过数据包发送出去,也就是说我们能够看见我们数据包中发送的验证码。

他的原理是这样的,他会生成一个验证码放在数据包中,然后我们自己再输入一个验证码,当我们输入的验证码跟数据包中的验证码相同时就会通过验证。

字符识别类型验证码识别

burp上有些插件是可以对验证码进行识别的。

但是他有点缺陷:

1.有误判的情况发生

2.只能识别一些图片的数字字母类型验证码

3.爆破的时候如果他在你正确密码的时候识别错了验证码,那么真的挺那啥的。

插件使用captcha-killer

教程我为了避免啰嗦写到另一篇博客中了。

【web安全】验证码识别-burp的captcha-killer-modified插件教程(基于百度接口)(总结一些坑)-CSDN博客

验证码后端验证未销毁

有的验证码是后端验证,但是他因为逻辑上的问题,他的验证码检验完毕之后没有销毁。所以导致了这个验证码虽然会变,但是你用前一次的验证码完全没问题。

所以你在数据包中发送相同格式的数据包,只改变密码不改验证码是可行的。

验证码前端验证

先说一下判断方法:

1.我们可以直接审查页面代码找到

2.但是有的时候他会把一部分给封装起来,封装到其他页面。所以我们可以查看我们访问发送的请求,找那种js后缀的请求,找找有没有关于验证码的请求。

绕过思路

很简单先输入正确的一次,然后抓包就行了。他就是在判断你是验证码错误的话不让你发送,后端基本上不验证,但不绝对。我们抓去了数据包直接发数据包就行了。

短信验证码的安全问题

用自身验证码修改其他用户的信息

首先这种短信验证码大多是放到密码修改,信息绑定的界面的。

那么出现这种安全问题的大部分是密码找回的界面

首先这种界面我们可以尝试用自己的手机获得验证码,然后再把手机号改成其他手机,这样重置的密码有可能是改的其他手机的验证码。

当然这个逻辑漏洞不一定会有,但是如果遇到这种密码重置跟接收验证码在一个地方的网站可以试一下这个思路。

小案例

使用墨者靶场进行操作。

这个是他的背景。

那么我们来更改这个手机号的密码。

这个界面是手机号跟验证码在同一个界面的,那么我们可以试一下以下思路。

我们先用自己的手机号接收验证码。之后再换成目标手机号。

完成修改他人的信息。

短信验证码前端回显

这类情况呢,是我们发送的数据包中会带有对方手机收到的验证码,这样的话我们直接就能可抓包输入进去就行了。

本地response校验

这个是指我们发送过去验证码之后,他可能是在后端进行校验,校验完毕之后会回复前端一个状态码,可能1是正确,3是错误。

(当然这个不绝对,还是要看他是怎么写的)

所以这样的话我们只需要改一下接收的到response就好了

这里有个抓包的原理

我们用burp抓包时,通常是抓的发出去的数据包,但实际上,burp是默认了不抓返回的数据包,但是他也是可以抓取返回的数据包的,我们修改response的值就是要使用这个功能。

抓返回数据包演示

发送数据包的时候,点这个

那么我们接收的数据包会先发送到burp中,然后被我们修改之后再发送回来。

这个返回的下面会有这种error或者1这种敏感的东西,如果他是根据前端校验的话,就可以成功。

(其实最好的测试方法就是写一个正确的,然后直接把整个正确的复制到错误的状态那里最保险)

跳过验证页面,直达目标页面

很多功能点都是有一个验证码的页面,但是他不止有验证码这个页面。他会发送好几个数据包,那么我们用工具把验证码的数据包给他拦截掉,让他直接跳转目标页面,就可以实现一些直接跳转到重置密码,信息修改,资源下载等页面。

简单验证码爆破

首先呢,短信验证码与人机验证码不同之处在于,短信验证码通常输入错误不会改变,这就导致了一些简单的验证码存在被爆破的可能性。

前提是每次输入短信验证码的时候,他的人机验证码没有,能绕过或者不改变。

第二就是这个验证码不限定输入的次数。

最后就是验证码是纯数字这样的成功率会更加的高。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理-总线概述

文章目录 总线简图总线的物理实现总览总线定义总线的特性总线的分类按数据格式分类串行总线并行总线 按总线功能分类注意系统总线的进一步分类 总线的结构单总线的机构双总线的结构三总线的结构四总线的结构 小结 总线简图 总线的物理实现 如果该为数据总线,那么当…

【openlayers-3】加载图标

目录 1、通过overlay方式添加 2、通过overlay css方式 3、通过Feature style方式实现 在OpenLayer3中添加图标有两种方式&#xff0c;一种是通过overlay方式&#xff0c;另一种是通过Feature Style的方式。 1、通过overlay方式添加 <div id"mapCon" styl…

如何部署Tale博客网站并发布个人站点到公网随时随地远程访问?

文章目录 前言1. Tale网站搭建1.1 检查本地环境1.2 部署Tale个人博客系统1.3 启动Tale服务1.4 访问博客地址 2. Linux安装Cpolar内网穿透3. 创建Tale博客公网地址4. 使用公网地址访问Tale 前言 今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale&#xff0c;Tale…

[HNCTF 2022 Week1]2048

[HNCTF 2022 Week1]2048 wp 通过调试 js 代码赋值来输出 flag 。 搜索 alert &#xff1a; 找到了&#xff0c;这里就是弹出 flag 的地方。 简单分析一下&#xff0c;其触发条件是 this.score > 20000 &#xff0c;那么只需调试代码到此处&#xff0c;将 this.score 赋值…

穷举vs暴搜vs深搜vs回溯vs剪枝

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析&#xff08;3&#xff09; 目录 &#x1f449;&#x1f3fb;全排列&#x1f449;&#…

dll文件和exe文件的区别和关系

dll文件 DLL(Dynamic Link Library)文件为动态链接库文件&#xff0c;又称"应用程序拓展"&#xff0c;是软件文件类型。在Windows中&#xff0c;许多应用程序并不是一个完整的可执行文件&#xff0c;它们被分割成一些相对独立的动态链接库&#xff0c;即DLL文件&…

快速找回误删的文件:2024 年顶级数据恢复软件大盘点

你曾经遇到过数据丢失的问题吗&#xff1f;别担心&#xff0c;12个最佳数据恢复软件帮你恢复。 计算机中的数据恢复是从辅助存储、丢失的文件或介质中恢复已删除、不可恢复、损坏、损坏和格式化的数据的过程。存储的数据可以通过正常方式带回到同一个地方&#xff0c;甚至&…

GAMES101:作业4记录

文章目录 总览算法编写代码&#xff1a;recursive_bezier()的实现Bezier()函数的实现提高部分&#xff1a;反走样 总览 Bzier 曲线是一种用于计算机图形学的参数曲线。在本次作业中,你需要实现 de Casteljau 算法来绘制由 4 个控制点表示的 Bzier 曲线 (当你正确实现该算法时,…

【Java开发岗面试】八股文—操作系统

声明&#xff1a; 背景&#xff1a;本人为24届双非硕校招生&#xff0c;已经完整经历了一次秋招&#xff0c;拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验&#xff08;主要是校招&#xff09;&#xff0c;包括我自己总结的八股文、算法、项目、HR面和面试技巧…

【ARMv8M Cortex-M33 系列 2.1 -- Cortex-M33 使用 .hex /.srec 文件介绍】

请阅读【嵌入式开发学习必备专栏 之Cortex-M33 专栏】 文章目录 HEX 文件介绍英特尔十六进制文件格式记录类型hex 示例Cortex-M 系列hex 文件的使用 hex 文件和srec 文件生成Motorola S-Record (srec) 格式 HEX 文件介绍 .hex 文件通常用于微控制器编程&#xff0c;包括 ARM C…

『番外篇八』SwiftUI 脑洞大开实现“另类”视图跟随方法

概览 在 SwiftUI 的开发中,我们时常需要用指尖丝滑般地操作指定视图:比如,我们需要在拖动视图后让它自动归位,或者拖动一个视图时让另一个视图跟随它移动。 我们随后将会详细讨论上述两个 SwiftUI 中与视图移动相关场景的实现。 在本篇博文中,您将学到如下内容: 概览1.…

【C++】STL 容器 - multiset 容器 ( std::multiset 容器简介 | std::multiset 容器 常用操作 api 简介 )

文章目录 一、mulset 容器1、std::multiset 容器简介2、代码示例 - multiset 容器 二、std::multiset 容器 常用操作 api 简介1、常用 api 简介2、代码示例 - multiset 容器常用操作 一、mulset 容器 1、std::multiset 容器简介 在 C 语言 的 标准模板库 ( STL , Standard Temp…

QString设置小数点精度位数

QString设置小数点精度位数 Chapter1 QString设置小数点精度位数Chapter2 Qt中QString.toDouble有效位数6位问题以及数据小数点有效位数的处理问题一&#xff1a;QString.toDouble有效位只有6位问题二:小数点有效位数的问题 Chapter3 qt QString转Double只显示6位数字的问题(精…

MCS-51单片机的中断源

目录 MCS-51中断源&#xff1a; 中断控制&#xff1a; 1.定时控制寄存器&#xff08;TCON&#xff09; 2.串行口控制寄存器&#xff08;SCON&#xff09; 3.中断允许寄存器(IE) 4.中断优先级控制寄存器(IP) 中断处理: 中断采样&#xff1a; 中断查询&#xff1a; 中断…

计算机操作系统(OS)——P4文件管理

1、初始文件管理 1.1、文件的属性 1&#xff09;文件名&#xff1a;由创建文件的用户决定文件名&#xff0c;主要是为了方便用户找到文件&#xff0c;同一目录下不允许有重名文件。 2&#xff09;标识符&#xff1a;一个系统内的各文件标识符唯一&#xff0c;对用户来说毫无…

【YOLO系列】YOLOv8 -【教AI的陶老师】

文章目录 yolo v8 模型结构图这样搞有什么意义&#xff1f;【获得不同尺寸的输出】c2f 详细结构yolo v8 损失函数与 yolo v5 的区别 yolo v8 模型结构图 详细结构图 这样搞有什么意义&#xff1f;【获得不同尺寸的输出】 c2f 详细结构 yolo v8 损失函数 与 yolo v5 的区别

学习体系结构 - AArch64内存管理

学习体系结构 - AArch64内存管理 Learn the architecture - AArch64 memory management Version 1.2 个人的英语很一般&#xff0c;对拿不准的翻译校准在后面添加了英文原文。 1、 概述 本指南介绍了AArch64中的内存转换&#xff0c;这是内存管理的关键。它解释了如何将虚拟地…

常用设计模式全面总结版(JavaKotlin)

这篇文章主要是针对之前博客的下列文章的总结版本: 《设计模式系列学习笔记》《Kotlin核心编程》笔记:设计模式【Android知识笔记】FrameWork中的设计模式主要为了在学习了 Kotlin 之后,将 Java 的设计模式实现与 Kotin 的实现放在一起做一个对比。 一、创建型模式 单例模…

CentOS 7 实战指南:文件操作命令详解

写在前面 想要快速掌握 CentOS 7 系统下的文件操作技巧吗&#xff1f;不用担心&#xff01;我为你准备了一篇详细的技术文章&#xff0c;涵盖了各种常用的文件操作命令。无论您是初学者还是有一定经验的用户&#xff0c;这篇文章都能帮助您加深对 CentOS 7 文件操作的理解&…

【LeetCode每日一题】1154. 一年中的第几天(直接计算+调用库函数)

2023-12-31 文章目录 [1154. 一年中的第几天](https://leetcode.cn/problems/day-of-the-year/)方法一&#xff1a;直接计算思路&#xff1a; 方法二&#xff1a;调用库函数思路 1154. 一年中的第几天 方法一&#xff1a;直接计算 思路&#xff1a; 1.根据所给的字符串&#…