手机版 网站建设 网站设计 网站开发 网站制作 11年专业品质
  • 微信
    微信二维码
  • 商城

你知道为什么手机短信验证码需要限定时间么?

作者:海极网络  发布时间:2016-10-20 09:41:38

随着移动互联网和智能手机的快速发展,原本功能单一的手机号发生了很大改变。如今,似乎每个人的手机号都绑定了各种账号,例如支付宝、银行卡等重要的账号。手机绑定最主要的表现就是短信验证,目前因其便捷的验证方式被广泛使用。但与此同时,人们也为其安全性而担忧。

你知道为什么手机短信验证码需要限定时间么?

经研究发现,在手机短信验证码中,4位验证码尤其不安全。为什么这么说呢?攻击者可以通过输入掌握的手机号码,在未获取验证码的情况下,直接获得短信验证码,从而绕过手机短信验证的安全环节。一般手机验证短信是4位,也就是说为0000-9999,长度为10000,通过近10000次第穷举实现对密码的验证。具体我们一起看看下面这个验证过程就懂了。

1.使用密码找回

打开某企业信息机,如图1所示,在页面中有“密码找回”功能,本次要破解的密码用户为管理员admin账号,系统设计的目的是根据用户名和手机号码短信验证来确定是用户本人,但其设计和验证过程存在缺陷,使得攻击者可以暴力破解验证码,重新设置或者获取指定用户的密码。如图2说是,在找回密码用户中输入“admin”。

你知道为什么手机短信验证码需要限定时间么?

图1密码找回

你知道为什么手机短信验证码需要限定时间么?

图2设置密码找回的用户

2.设置密码找回的手机号码

在密码找回中设置密码找回的手机号码,如图3所示,设置完毕后,需要用户输入一个验证码来验证。

你知道为什么手机短信验证码需要限定时间么?

图3输入验证码进行验证

3.设置BurpSuite密码变量

(1)设置代理并实施拦截

使用BurpSuiteProxy(代理)—拦截HTTP/S的代理服务器,也即显示为“Intercept is on”,它可以作为一个在浏览器和目标应用程序之间的中间人,允许进行拦截、查看以及修改在两个方向上的原始数据流。在找回密码页面输入验证码“1234”并使用本地代理抓取post包,如图4所示,可以看到txtPassWord=1234

你知道为什么手机短信验证码需要限定时间么?

图4设置代理并实施拦截

(2)设置破解变量

发送到Intruder(入侵)一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。将该数据包发送到Intruder,如图5说是,在验证码增加一个变量$1234$。

你知道为什么手机短信验证码需要限定时间么?

图5设置一个入侵(破解密码)变量

(3)设置Playloads

在入侵页面上单击“Payloads”,如图6说是,其缺省初始参数为字母和数字,实际情况要根据当前渗透测试环境自行判断和设定。在本例中由于验证码是长度为4位的数字0000-9999,因此Min Length(最小长度)和Max Length(最大长度)均设置为4。

你知道为什么手机短信验证码需要限定时间么?

图6设置PayLoads

当前网站验证码经测试为数字,因此将Character set设为:0,1,2,3,4,5,6,7,8,9。Payload count:有效的验证码总数量为10000,设置完毕后如图7所示。

你知道为什么手机短信验证码需要限定时间么?

图7设置有效载荷、字符串和长度

(4)设置线程数

单击“Options”,在“Number of threads”中设置线程数为100,这里可以根据情况,可以是1-10000,但一般不会设置太多,50-100为比较适宜的数字。

你知道为什么手机短信验证码需要限定时间么?

图8设置破解线程数

4.执行暴力破解

单击菜单中的“Intruder”上的“Start attack”进行暴力破解尝试,如图9所示,其破解结果显示如下,破解成功的值,其Status会不一样,错误的值是200,正确的值为302。

你知道为什么手机短信验证码需要限定时间么?

图9查看破解进展

5.破解成功

通过查看破解反馈回来的状态值,知道本次破解的Payload:1245,HTTP状态码Status为302,明显是一个跳转。返回的Length长度为451 。正确的验证码为1245,我们尝试输入,发现验证码正确,如图10所示,成功破解用户密码找回的手机密码验证短信码,从而获取管理员的密码。

你知道为什么手机短信验证码需要限定时间么?

图10成功获取密码

至此,我们可以看到四位手机短信验证码最终被成功破解了。

那么,我们该如何能提高手机短信验证的安全呢?这里,笔者建议大家可以通过限定手机短信验证时间和加长验证字段的方式来提升短信验证安全性。

(1)短信验证码验证时间需要设置得更短,应该在30秒以内。由于需要穷举10000次,网络发包时间较短,尽量避免包从同一个地址的多次提交。

(2)将短信验证码由4位增加到6位,且使用数字+字母的方式,增加了破解的难度。

之所以要这样做,是因为想要破解必须在短信验证码的有效时间内去做,而缩短有效时间和加长的短信验证码就增加了被暴力破解的难度。

上一篇: 为什么不必在冰岛建设数据中心 下一篇: 【百度官方】百度蜘蛛抓取流量暴增的原因
返回列表
11年专业品质
互联网品牌推广专家
专业的建站、人机交互策划、高端UI设计、移动应用开发公司
业务电话:020/22373839    15915747484
业务QQ:641589319
业务QQ:1375530069
广州总部地址:广东省广州市越秀区八旗二马路48号广东航运大厦1009室 邮编:510111
海极网络微信二维码
优盛彩票平台 福中彩票平台 利威彩票平台 爱尚彩票平台 鸿禾彩票平台 彩票平台89 优盛彩票平台 大福彩票 鑫源彩票平台 68彩票平台网