当前位置:网站首页>验证码业务逻辑漏洞
验证码业务逻辑漏洞
2022-08-04 02:15:00 【MUNG东隅】
简单学习了一下php的gd库,也就是图形处理,主要是验证码相关的。
验证码可以有效防止暴力破解,也可以用来防止恶意灌水、广告贴等,原理就是生成验证码的时候也会生成一个字符串到session中,然后用户根据图片进行输入、提交,再判断是否能和session中的值匹配上,通常验证码图片会加入一些噪点、干扰线等。验证码的机器识别大概分为四个步骤,取出字模、二值化、计算特征、对照样本,可以采用让验证码更“乱”的方式提高安全性,比较高级的是通过神经网络进行识别,但是这样学习成本太高。
另外,如果验证码仅仅为4位纯数字这样,也是非常容易被暴力破解,尝试10000次一定能破解一个验证码,利用爆破工具,设置上几十个线程,破解只需要几分钟,建议采用非纯数字且6位的验证码。
空验证码突破:大多数验证码的生命周期是这样的:用户访问页面,生成code并保存到session中,用户提交验证码,服务端进行对比。试想,如果我们不去访问页面,二十直接提交表单,这个时候服务端是没有产生code的,当我们提交表单的验证码为空,正好和服务端对应,php是弱类型语言,就绕过了验证码。就像下面这个逻辑:
<?php
if($_POST["code"]!=$_SESSION["code"]){
unset($_SESSION["code"]);
return['status'=>false,'msg'=>'验证失败'];
}
return['status'=>'ture','msg'=>'验证成功'];它在验证失败以后把session里的code删掉了,而这个时候我们直接repeat,就可以打这个漏洞。
另外还有一个逻辑漏洞,就是很多网站为了方便用户,在他们第一次登录无需验证码,如果这个“第一次”的判断条件是我们可控的,比如cookie,我们删掉以后就可以绕过。
边栏推荐
- 简单排序(暑假每日一题 14)
- 简单的线性表的顺序表示实现,以及线性表的链式表示和实现、带头节点的单向链表,C语言简单实现一些基本功能
- QNX Hypervisor 2.2 user manual] 10.1 gm vdev options
- What is SVN (Subversion)?
- Continuing to invest in product research and development, Dingdong Maicai wins in supply chain investment
- Variable string
- Use of lombok annotation @RequiredArgsConstructor
- 工程制图名词解释-重点知识
- Promise 解决阻塞式同步,将异步变为同步
- this巩固训练,从两道执行题加深理解闭包与箭头函数中的this
猜你喜欢

共n级台阶,每次可以上1级或2级台阶,有多少种上法?

阿里云国际版基于快照与镜像功能迁移云服务器数据

MallBook 助力SKT思珂特教育集团,立足变化,拥抱敏捷交易

倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即

Web APIs BOM - operating browser: swiper plug-in

mpf5_定价Bond_yield curve_Spot coupon_duration_有效利率_连续复利_远期_Vasicek短期_CIR模型Derivatives_Tridiagonal_ppf

工程制图复习题
编写 BOLL 心得体会

工程制图平面投影练习

什么是SVN(Subversion)?
随机推荐
安全至上:落地DevSecOps最佳实践你不得不知道的工具
大佬们,读取mysql300万单表要很长时间,有什么参数可以优惠,或者有什么办法可以快点
网页三维虚拟展厅为接入元宇宙平台做基础
JS 保姆级贴心,从零教你手写实现一个防抖debounce方法
计算首屏时间
Web APIs BOM- 操作浏览器:swiper 插件
持续投入商品研发,叮咚买菜赢在了供应链投入上
QNX Hypervisor] 10.2 vdev 8259 2.2 user manual
[QNX Hypervisor 2.2 User Manual] 10.3 vdev gic
In a more general sense, calculating the displacement distance and assumptions
IDEA02:配置SQL Server2019数据库
参加Oracle OCP和MySQL OCP考试的学员怎样在VUE预约考试
企业虚拟偶像产生了实质性的价值效益
Zabbix设置邮件告警+企业微信告警
html select标签赋值数据库查询结果
DHCP服务详解
瑞能微计量芯片RN2026的实用程序
持续投入商品研发,叮咚买菜赢在了供应链投入上
【Untitled】
实例035:设置输出颜色