密码重置6位数验证码绕过问题

记得以前密码重置刚出来的时候,四位数验证码绕过满天飞。如下:

然后,进行爆破就可以重置密码了:

后来,验证码重新设置为6位数验证码,但是如果不对过期时间进行限制,依然可以被爆破。6位数,理论上来说,有一百万种可能。在这里以个人笔记本为例,一般最大线程为200。

所以一共需要5000秒,爆破完毕。 折算成分,就需要83分钟,也就是一个多小时。虽然攻击成本上升,但是还是可以进行破解。如果用服务器破解,速度更快。

有时候主站,对爆破时间和频率进行了限制,但是一般都会设置10分钟-15分钟的过期时间。这里不讨论服务器的爆破情况。

但是,分站却因此而疏忽,在这里给出例子:

http://www.freebuf.com/vuls/164652.html

所以,鸡肋的未必不好用。 鸡肋的掌握多寡决定着你与他人的差距。

原文地址:https://www.cnblogs.com/w-i-n-d/p/8649024.html

时间: 2024-11-12 09:32:54

密码重置6位数验证码绕过问题的相关文章

token安全之任意密码重置

前言 偶然间挖了一个漏洞是密码重置,挖掘过程很有趣,可以参考下. 挖掘过程 在说明之前我们可以先走下正常流程,这样才方便查漏~ 正常流程 第一步骤: 正常填写完,点击下一步发送请求: POST /[URI] HTTP/1.1 Host: [Host] User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: application/json, tex

任意用户密码重置(四):重置凭证未校验

在逻辑漏洞中,任意用户密码重置最为常见,可能出现在新用户注册页面,也可能是用户登录后重置密码的页面,或者用户忘记密码时的密码找回页面,其中,密码找回功能是重灾区.我把日常渗透过程中遇到的案例作了漏洞成因分析,这次,关注因重置凭证未校验导致的任意用户密码重置问题. 传送门: 任意用户密码重置(一):重置凭证泄漏 任意用户密码重置(二):重置凭证接收端可篡改 任意用户密码重置(三):用户混淆 密码找回需要鉴别用户的合法身份,证明你就是你,通常有两种做法,一是网站将重置验证码发至用户绑定的邮箱或手机号

任意用户密码重置的10种姿势

以前安全测试最爱挖的就是任意用户密码重置,今天看了carry_your师傅在ichunqiu上的视频文字总结一下任意用户密码重置的10种姿势: 1,短信验证码可爆破: 视频案例中输入手机号码.图片验证码就可以获取短信验证码,并且新密码也是在一个页面中,但是输入短信验证码之后,后端有个请求会判断短信验证码是否正确,错误的话页面会有提醒.攻击者可以用这个请求来爆破验证码,获取到正确的短信验证码之后就可以重置任意用户密码了. 缺陷主要是两个方面,第一,未对短信验证码的失效时间进行限制:第二,功能设计存

zzcms8.2#任意用户密码重置#del.php时间盲注#复现

00x0 引言 早上起来,发现seebug更新了一批新的洞, 发现zzcms8.2这个洞好多人在挖,于是我就默默的踏上了复现之路(要不是点进去要买详情,我何必这么折腾~) 环境:zzcms8.2(产品招商型) php-5.4.45 . mysql-5.5.53 01x0 任意用户密码重置 01x1 任意用户密码重置方式一 话说,这个洞的标题应该是任意前台用户密码重置,后台管理员重置不了的,或许是我复现的问题.~~ 先注册个账号,然后首页点击找回密码. 地址:http://localhost/on

任意用户密码重置(五):重置凭证可暴破

在逻辑漏洞中,任意用户密码重置最为常见,可能出现在新用户注册页面,也可能是用户登录后重置密码的页面,或者用户忘记密码时的密码找回页面,其中,密码找回功能是重灾区.我把日常渗透过程中遇到的案例作了漏洞成因分析,这次,关注因重置凭证可暴破导致的任意用户密码重置问题. 传送门: 任意用户密码重置(一):重置凭证泄漏 任意用户密码重置(二):重置凭证接收端可篡改 任意用户密码重置(三):用户混淆 任意用户密码重置(四):重置凭证未校验 密码找回需要鉴别用户的合法身份,证明你就是你,通常有两种做法,一是网

任意用户密码重置(二):重置凭证接收端可篡改

在逻辑漏洞中,任意用户密码重置最为常见,可能出现在新用户注册页面,也可能是用户登录后重置密码的页面,或者用户忘记密码时的密码找回页面,其中,密码找回功能是重灾区.我把日常渗透过程中遇到的案例作了漏洞成因分析,这次,关注因重置凭证接收端可篡改导致的任意用户密码重置问题. 密码找回逻辑含有用户标识(用户名.用户 ID.cookie).接收端(手机.邮箱).凭证(验证码.token).当前步骤等四个要素,若这几个要素没有完整关联,则可能导致任意密码重置漏洞. 前情提要:[传送门] 案例一:接收端可篡改

python随机生成6位数验证码

#随机生成6位数验证码 import randomcode = []for i in range(6):    if i == str(random.randint(1,5)):        code.append(i)    else:       temp =  random.randint(65,90)       code.append(chr(temp)) print ''.join(code) ###扩充random用法,随机生成树,和程序无关 print random.rando

mysql密码重置

mysql密码重置 mysql 密码忘记了怎么办?!下面步骤是如何重置mysql的密码: 1.打开mysql的配置文件,命令:vim /etc/my.cnf .在配置文件中新增一行 skip-grant,结果如下图所示: 2.保存并退出! 3.重启mysqld,命令:service mysqld restart 4.mysql -uroot进入,use mysql:#使用mysql库update user set password='123'where user='root': #更改user这

1~2_Mysql 的配置之密码重置& mysql 登陆

mysql 黙认mysql 是没有设置密码的,正常情况下还是应该设置一个密码. [[email protected] ~]# mysql -uroot 用quit  退出来 给mysql 设置密码 [[email protected] ~]# mysqladmin -uroot password 'zaq12wsx' 如果我们忘记了mysql 的密码,怎么解决呢? 初始化密码 [[email protected] ~]# vim /etc/my.cnf  #编辑my.cnf skip-grant