互联网江湖里的爱恨情仇之手机验证码武术拆解

很久以前,互联网的江湖中突然出现了一门新的武功,它的招式堪称精干巧妙,虽然它并没有什么杀伤力,但是却可以强身健体!于是乎,上到武林三大帮派BAT,下至无名小卒都在练习使用。这一招便是久负盛名的「手机验证码」。
然而,有的人天生就是骨骼清奇,练武奇才,对于这门武功运用自如合理,不会伤及自身。有的人却是笨拙,照猫化虎学走了样,久而久之,轻者先伤己再伤人,重者走火入魔自废武功。
诚然,手机验证码的广泛使用,一方面人们可以很方便地验证身份,另一方面,武林中人也可以很方便地获取用户的联系信息。但是,越来越多的人,在修习这门武功之前并没有做好准备。


1.错误示范

1.1 空有其表,花拳绣腿

有的公司吧,他们确实做出了手机验证的相关动作,但是特别可笑的的是,经常如下面这样

{
	"code": 200,
	"verification": 9999,
	"msg": "发送成功"
}

直接将验证码明文返回,在前端做校验。你懂的,老师出了题,却在考试时不小心把答案也发给了学生,结果大家都考100分。这种错误是最low的,但是我却在很多产品中发现过这样的问题!也有几个比较知名的产品。

1.2 动作不到位,破绽明显

还有一种情况,不会发生1.1中所讲的漏洞。但是,武林中一句广为人知的知识点:
「天下武功,唯快不破!」
举个栗子,当获得验证码之后就是进行注册或者修改密码的操作,会是如下的一个请求

curl 
'https://xxxxxxxxxx/register' 
-H 'Pragma: no-cache' 
-H 'Origin: xxxxxxxxx' 
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36' 
--data-binary '{"name":"xxxxxx","username":"xxxxxxxx","phone":"13866666666","code":"WWWW""password":"12345678"}' 
--compressed

唯快不破
假设验证码是一个4位随机数,每一次请求会有0000-9999一万种可能。假设有效期是5分钟。一般5分钟之内搞对面服务器1w次也不会搞趴吧。那就最多搞它1w次,成功之后立马停止,这样,你根本不需要真的接收到验证码旧可以做你想做的事情了!
有的验证码甚至没有时间限制 QAQ

1.3 TAT(不知道怎么形容)

曾经发现一家,页面源码里面写着成功后重定向的页面链接
你要闯关,对面站了一头老虎,你却突然发现一个门,直接通关了。。。。。

2.康复指南

以上情况你都会发现获得很多的超级vip用户,手机号诸如 188-8888-8888

首先,明文回传的验证码这招立马改了!再练下去小命都难保了。

唯快不破,虽然不假,但是,那是你的地盘,规矩当然由你定!你可以规定对方只能出三招!任你再快,我只接3招。避免人家快刀乱砍乱了自己阵脚。再者,你来踢馆好多次一直失败,就在门口挂个 「XX与狗不得入内」(黑名单)。

3.反思

只怕是boss逼得太紧了,哪有功夫考虑那么多,乱拳打将出去了。
大家还有其他的情况的欢迎在评论区一起聊聊啊。

猜你喜欢

转载自blog.csdn.net/ucsheep/article/details/92571464