厂商为什么不担心验证码碰撞?

2023-01-06 10:35:18 +08:00
 xingL
大部分厂商的验证码都是 6 位及以内验证码,对应的就算百万分之一及以上的猜对概率。百万分之一的确风险很低,但有些厂商的 4 位验证码,如果自动化碰撞 4 位验证码的话,效率应该蛮高的,但好像没人关心这件事?
6421 次点击
所在节点    问与答
56 条回复
rpish
2023-01-06 23:28:43 +08:00
异地登入二次验证,多次错误需要等待重发,频繁请求接口封 IP ,这很难爆破吧。
如果挂个代理池爆破,这么频繁的请求,总感觉像 DDos 呀。
amrnxcdt
2023-01-07 00:48:47 +08:00
@TheCure #33 你这个计算方法要成立需要有一个充分必要的条件:验证码都是唯一且不会重复使用。

正经的 totp 都是根据账号和当前时刻 /时间段等信息生成的,相当于每次尝试都是独立的事件,概率怎么可以直接加在一起。

举个不恰当的例子:摇色子 5 次,前面 5 次结果分别是 1 、2 、3 、4 、5 ,那么摇第 6 次色子的结果是 6 的概率是多少?
amrnxcdt
2023-01-07 00:55:31 +08:00
@amrnxcdt #42 要对 otp 进行攻击应该是在同一个验证周期里面尽可能的多发送验证请求,但是上面的回复也说了,可以在工程上避免,比如每次验证生成新的验证码、限制单个用户验证的次数、限制单位时间内的验证次数等。
microka
2023-01-07 01:16:27 +08:00
自以为是。
SP00F
2023-01-07 02:33:52 +08:00
我不管你有多少个号,就算按 4 位验证码来算( 9999 次),你无法得知验证码生成规则,即便是按照随机的好了。你要爆破首先你要解决并发问题(小厂不论,仅讨论大厂相关),解决并发可以利用代理发起并发请求,大厂的安全不是开玩笑的,你这对同一个账号进行并发不异常安全不响应就等着卷铺盖吧。即便你忽略并发问题,一般验证码 5 分钟内有效,算一下你 5 分钟算你单线程,每秒 2 次(含请求到响应)你也不过是 600 余次,更别说你这是单线程没挂代理的直接就 ban 你 IP 了。而且还有短信验证码尝试次数。

说得好像短信验证码都这么容易爆破似的。
短信验证码要么是短信中心你有权限可以直接查,要么校验存在逻辑漏洞。
muzuiget
2023-01-07 02:38:17 +08:00
验证码相当于给你发个临时密码而已,最后还是要和用户名一起判断啊,跟自定义密码一样,输错几次就锁了。
xiadong1994
2023-01-07 03:26:18 +08:00
@Exdui 应该说的是第一种,还是有可能的,只是不知道登进去的是哪个账号,能得到的利益太低了。
yyf1234
2023-01-07 08:19:31 +08:00
这和手机号多少有啥关系?每个号都是独立事件,概率一样的啊
Juszoe
2023-01-07 10:42:53 +08:00
@amrnxcdt #42 你再看一眼他的公式,是按照独立事件计算的,没有加在一起
IvanLi127
2023-01-07 12:22:45 +08:00
验证码只是 mfa 的一个因素,其他的因素再参与一下,概率不就又小了很多?
amrnxcdt
2023-01-07 14:15:19 +08:00
@Juszoe #49 关键是”独立事件“,前面 9999 次猜不中不会提高第 10000 次的概率,参考那个摇色子的问题:不管前面结果如何,第 n 次摇出 6 的概率都是 1/6 。

然后原文:”假设你知道 10000 个手机号, 然后使用的是 4 位数验证码.
那么每次猜不中的概率是 9999/10000, 连续 10000 次不中的概率是”
那么假如验证码里面有 9999 个是“0000”这种情况呢?所以说他这样的算法是隐含了一个条件:验证码都是唯一且不会重复使用。
Juszoe
2023-01-07 20:41:04 +08:00
@amrnxcdt #51
“连续 10000 次不中的概率”≠“第 10000 次不中的概率” 这是两个概念
math.pow 是幂次方

没有隐含“不放回条件”,如果非要按这个条件来算,就得用超几何分布了,算出来是 100%
angrylid
2023-01-07 21:25:55 +08:00
跳出技术,从成本收益的角度去考虑。我只要保证攻击者的收益远远低于成本就行了。或者说你觉得撞别人四位验证码有利可图,但那只是纸上谈兵,实践一下亏到你裤衩子都不剩。
Michael5
2023-01-14 21:07:38 +08:00
怎么弄那么多 IP 呢
lyc8503
2023-04-26 01:10:02 +08:00
遇到过十分不靠谱的网站,只有四位验证码且尝试错误验证码不失效,成功使用程序暴力破解进去了,但那也是极少数十分劣质的网站,大部分加个频率限制就解决问题。
catamaran
8 天前
先改一下标题吧,厂商为什么不担心手机验证码碰撞

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/906936

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX