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

news2025/3/2 3:33:15

前言

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

验证码的种类分析

首先验证码有两种:

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.coloradmin.cn/o/1346536.html

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

相关文章

每日一练(编程题-C/C++)

目录 CSDN每日一练1. 2023/2/27- 一维数组的最大子数组和(类型:数组 难度:中等)2. 2023/4/7 - 小艺照镜子(类型:字符串 难度:困难)3. 2023/4/14 - 最近的回文数(难度:中等)4. 2023/2/1-蛇形矩阵(难度:困难)…

数据采集来源有哪些?怎么做?

数据采集 数据采集,又称数据获取,是指从传感器和其他待测设备等模拟和数字被测单元中自动采集非电量或者电量信号,送到上机中进行分析、处理。 ✦ 一、电商数据采集主要来源 1、互联网公开数据 互联网是数据采集的主要来源之一&#xff0c…

kivy开发一个登陆界面

Kivy Kivy是一个用于开发跨平台移动应用(如Android和iOS)以及桌面应用(如Windows、Linux和macOS)的Python框架。它采用开源许可证(MIT许可证),提供了丰富的图形界面组件和工具,以便…

Android Studio如何查找和替换

目录 前言 一、概述 二、总结 三、更多资源 前言 在Android Studio中,查找和替换是非常常见的操作,它可以帮助我们快速地定位和修改代码中的错误或不合适的内容。本文将介绍如何在Android Studio中进行查找和替换操作,包括基本的查找和替…

css 设置鼠标覆盖显示菜单

鼠标覆盖到“全部分类”效果如下 鼠标放到“精品推荐”效果如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

Linux网络编程学习心得.2

1.连接服务器 连接服务器 #include <sys/socket.h> int connect(intsockfd , const struct sockaddr *addr, socklen_t addrlen); 功能: 连接服务器 sockfd: socket套接字 addr: ipv4套接字结构体的地址 addrlen: ipv4套接字结构体的长度 2.tcp服务器通信流程 监…

C++初阶——基础知识(函数重载与引用)

目录 1.命名冲突 2.命名空间 3.缺省参数 4.函数重载 1.函数重载的特点包括&#xff1a; 2.函数重载的好处包括&#xff1a; 3.引用 引用的特点包括 引用的主要用途包括 引用和指针 引用 指针 类域 命名空间域 局部域 全局域 第一个关键字 命名冲突 同一个项目之间冲…

8天狂收6000+⭐️,可商用的开源Stream Diffusion

加州大学伯克利分校、东洋大学、东京工业大学、麻省理工学院和筑波大学等研究人员&#xff0c;联合开源了一款创新性实时交互图像生成框架——Stream Diffusion。 Stream Diffusion的技术创新点在于&#xff0c;将传统的顺序去噪变成流批处理去噪&#xff0c;消除了漫长的等待…

嵌入式学习路线

嵌入式系统是一种将软件和硬件紧密结合的技术&#xff0c;首先我们要认识到&#xff0c;无论我们是专注于软件开发还是硬件开发&#xff0c;最终的目标都是为了更好的工作和职业发展。 根据企业的规模和需求&#xff0c;大公司更倾向于将职责分得更细&#xff0c;例如软件分为…

2023年总结(2023年1月1日至2023年12月31日)

前言 时间过得真快啊&#xff0c;一年又过去了。 从去年11月换了家公司后&#xff0c;工作就稳定多了&#xff0c;做的工作也是我喜欢做的工作——摄像头驱动&#xff0c;平时也挺轻松的&#xff0c;偶尔有事儿的时候会压力大点&#xff0c;加点班&#xff0c;其他都还好&…

SAP 资产管理后台配置之设定主数据字段

前阵子给财务创建了一个固定资产类型&#xff0c;但同事使用时发现字段跟平时不一样。 正常是有下面这些标签页的 然后我找到主数据屏幕格式的配置里发现 发现格式默认错了 应该是默认我司的自定义格式ZSAP 但是改成ZSAP还是不会生效 需要给这个资产分类重新分配一下字段标签页…

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

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

12.31_黑马数据结构与算法笔记Java

目录 331 两数之和 Leetcode167 332 三数之和 Leetcode15 333 四数之和 Leetcode18 334 盛水最多容器 Leetcode11 335 滑动窗口最大值 Leetcode239 336 接雨水 Leetcode42 337 字符串匹配 bf Leetcode28 338 字符串匹配 kmp Leetcode28 339 字符串匹配 lps Leetcode28 …

洛谷:集合与差分

1.学籍管理(map&#xff09; #include<iostream> #include<map> #include<string> using namespace std; map<string,int>a; int n; string name; int op,score; int main() {cin>>n;for(int i1;i<n;i){cin>>op;if(op!4)cin>>na…

深度解析ShardingJDBC:Java开发者的分库分表利器

一、ShardingSphere ShardingSphere 是一款起源于当当网内部的应用框架。2015年在当当网内部诞 生&#xff0c;最初就叫ShardingJDBC 。2016年的时候&#xff0c;由其中一个主要的开发人员张亮&#xff0c; 带入到京东数科&#xff0c;组件团队继续开发。在国内历经了当当网、电…

Mybatis 事务接口

当我们从数据源中得到一个可用的数据库连接之后&#xff0c;就可以开启一个数据库事务了&#xff0c;事务成功开启之后&#xff0c;我们才能修改数据库中的数据。 在修改完成之后&#xff0c;我们需要提交事务&#xff0c;完成整个事务内的全部修改操作&#xff0c;如果修改过…

《最新出炉》系列初窥篇-Python+Playwright自动化测试-4-playwright等待浅析

1.简介 在介绍selenium的时候&#xff0c;宏哥也介绍过等待&#xff0c;是因为在某些元素出现后&#xff0c;才可以进行操作。有时候我们自己忘记添加等待时间后&#xff0c;查了半天代码确定就是没有问题&#xff0c;奇怪的就是获取不到元素。然后搞了好久&#xff0c;或者经…

桉木芯建筑模板与其他材质比较有何不同?

在建筑行业中&#xff0c;模板的选择对于确保工程质量和效率至关重要。桉木芯建筑模板作为市场上的一种选择&#xff0c;与其他材质的模板相比&#xff0c;具有独特的优势。能强优品木业作为专业的桉木芯建筑模板生产厂家&#xff0c;其产品充分展示了这一材质的优越性能。 材质…

技术博客官网也是一个不错的学习平台(第411篇)

技术博客官网也是一个不错的学习平台(第411篇) 今天的主题是OSPF 大纲 技术成就梦想51CTO-中国知名的数字化人才学习平台和技术社区 OSPF 概念型问题_wx655f0abb3511b的技术博客_51CTO博客 OSPF协议介绍及配置 - airoot - 博客园 (cnblogs.com) 一、OSPF概述 回顾一下距离矢…

如何实现WinApp的UI自动化测试?

WinApp&#xff08;WindowsAPP&#xff09;是运行在Windows操作系统上的应用程序&#xff0c;通常会提供一个可视的界面&#xff0c;用于和用户交互。例如运行在Windows系统上的Microsoft Office、PyCharm、Visual Studio Code、Chrome&#xff0c;都属于WinApp。常见的WinApp&…