基于“验证码前端可控”漏洞谈网络安全问题防范

2021-08-27 06:54孙海波冯伟张凤雨刘志斌
中国新通信 2021年12期

孙海波 冯伟 张凤雨 刘志斌

【摘要】    本文就工作中发现的一起验证码前端可控漏洞,从事件经过、验证过程、防护建议几个方面,对该漏洞进行介绍。使读者能够对验证码前端可控漏洞有一个比较清晰的认识,防止攻击者利用该漏洞获取用户帐号信息,登录网站,造成不可预想的损失。

【关键词】    网络安全漏洞    验证码    Burp Suite    cookie

随着互联网技术的快速发展,犯罪分子利用网络手段犯罪的行为已不鲜见。2018年8月14日,深圳龙岗警方宣布打掉一个新型盗刷银行卡犯罪团伙,抓获10名嫌疑人,查缴伪基站等电子设备6套,带破同类案件50余宗,涉案金额逾百万元。据专家分析,嫌疑人通过“GSM劫持+短信嗅探”技术截获受害人短信验证码,从而完成盗刷等操作[1]。

手机短信验证码在验证用户身份时发挥的作用越来越大。注册网站新账号,需要短信验证码;通过手机银行转帐汇款,需要短信验证码;忘记密码又想登录网站,需要短信验证码等等。

网络安全漏洞不容小觑。验证码前端可控属于高危风险网络安全漏洞,攻击者通过已注册该网站的手机号,再利用验证码前端可控漏洞获得手机验证码,以该账号进行网站登陆,从而获取已登录手机账户的敏感信息,甚至可以拿到整个服务器中的敏感数据。这样不仅仅对网站用户的数据安全造成极大威胁,对整个网站的数据库都造成严重威胁,后果不堪设想。

一、事件经过

笔者一直从事对网站的网络安全漏洞扫描工作,于2021年3月发现一起比较典型的验证码前端可控漏洞,供读者参考。漏洞详细情况如下:漏洞名称为验证码前端可控漏洞;漏洞数量1个;漏洞等级为高危;漏洞URL地址为 https://www.---.com/register/(“---”代表网站部分URL地址)。

验证码前端可控漏洞,就是当网站在验证用户手机号码时,会有一个给手机号发送验证码的指令,该漏洞可以不经过手机直接获取该验证码。

二、验证过程

我们通过Web漏洞扫描工具,发现该网站下面的一个URL地址,存在验证码前端可控漏洞:https://www.---.com/register/。下面我们对这个URL地址,进行漏洞验证。

1.访问主页。我们首先打开网站主页:https://www.---.com/,并在主页中点开“注册/登录”页面,如图1所示。

2.创建帐号。在图1的“注册/登录”页面中点击“创建您的帐号”选项,进入创建帐号界面,如图2所示。

3.抓取验证码请求包。在图2中的创建帐号页面中输入需要验证的手机号,点击“获取验证码”按钮。

此时,我们使用Burp Suite工具抓取该请求的请求包数据。Burp Suite工具是一个用Java语言开发的高集成化渗透测试工具,集合了多种渗透测试组件,方便我们完成对web应用的渗透测试,前提是在Java环境中运行。在本次验证过程中,我们需要用到的是Burp Suite工具中的Repeater模块。在Repeater模块中,我们可以手动修改请求参数,并重新发送请求数据,以帮助我们分析拦截到的请求信息。

通过Burp Suite工具抓取验证码请求包,我们可以看到在这个请求包中包含被验证的手机号,以及send_code参数,即验证码为“4307”,如图3所示。

点击“send”按钮,发送该请求,手机会收到一个验证码“4307”,如图4所示,测试手机收到和在请求包中的验证码一样。

到这一步,就已经存在问题了。即发送给手机的验证码,我们可以利用Burp Suite工具抓取到。假如我们知道某一个已经注册该网站的手机号,就可以在不通过手机接收验证码的情况下获取到验证码,进行登陆,进而获取该用户的信息,可能会造成严重的信息泄漏。

4.篡改验证码。我们也可以随时对该网站的验证码进行篡改,在Repeater请求包中,比如我们将之前的验证码“4307”修改为“1111”,如图5所示。然后点击“send”按钮发送该请求,手机同样可以接收到验证码短信,如图6所示,接收到的验证码已经变成了“1111”。

通过上面的验证过程,我们可以得出结论,这个网站存在验证码前端可控的网络安全漏洞,这种验证码显示在前端的方式是非常危险的。

三、防护建议

杜绝验证码绕过这类漏洞,最主要的原则就是一定要做好逻辑规划,确认逻辑过程没有可被利用的地方,否则一旦出现这种逻辑类的先天缺陷,所有后续的限制防护只是徒劳。

这次我们发现的验证码前端可控漏洞,只是验证码绕过类漏洞的一种,其它种类的验证码绕过漏洞还有许多,比如有的网站验证码会在cookie信息中传输,有的验证码会在响应包中返回,这些问题都是在做短信验证逻辑规则时没有考虑完善所导致的。

存在了验证码绕过漏洞,网站就有可能受到各种类型的攻击,如短信炸弹攻击。因为网站未对短信验证码数量以及间隔时间进行限制,攻击者通过渗透工具将短信验证码无限制发送,造成網站不可访问。我们要对验证码绕过漏洞重视起来,避免由于一个点的疏忽导致整个网站系统的全面崩溃,主要从以下几个方面进行防护。

1.修改前端验证码发送机制。验证码不能在客户端进行验证,需要在网站服务端进行验证。

2.限制短信发送时间间隔。比如限制短信在指定时间的发送数量,一分钟只允许发送一次,一天总共发送多少次,防止网站被大量请求访问。

3.对客户访问ip地址进行限制。如果某一用户ip对短信接口短时间内进行大量访问,则对该用户ip进行封禁,或间隔24小时后再允许访问等机制。

4.用户登录网站时,添加图片验证码,防止用户帐号被爆破。

四、结束语

这次发现的网站验证码前端可控漏洞,通过漏洞验证,我们不需要手机就可以获得手机验证码,进而登录网站,获取用户及网站信息。如果被恶意攻击者利用该漏洞,获取用户数据,后果不堪设想。

党的十八大以来,以习近平同志为核心的党中央重视互联网、发展互联网、治理互联网,统筹协调涉及政治、经济、文化、社会、军事等领域信息化和网络安全重大问题,作出一系列重大决策、提出一系列重大举措,推动网信事业取得历史性成就[2] 。网络安全无小事,必须做到防患于未然。

参  考  文  献

[1] 人民网. 深圳警方打掉一个新型盗刷银行卡犯罪团伙. 2018-08-16 . http://m.people.cn/n4/2018/0816/c3522-11460728.html;

[2] 中国习观.网络安全的重要性 习近平这些话掷地有声. 2019-09-16. http://guoqing.china.com.cn/2019zgxg/2019- 09/16/content_75211149.html?f=pad&a=true。