前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >APP渗透测试 验证码功能漏洞的检测与分析汇总

APP渗透测试 验证码功能漏洞的检测与分析汇总

原创
作者头像
技术分享达人
修改2019-08-27 10:36:14
9720
修改2019-08-27 10:36:14
举报
文章被收录于专栏:网站漏洞修补网站漏洞修补

在对客户网站以及APP进行安全检测的同时,我们SINE安全对验证码功能方面存在的安全问题,以及验证码漏洞检测有着十多年的经验,在整个APP,网站的安全方面,验证码又分2种,第一个是登陆的身份验证码,再一个对重要的操作进行的操作验证码,虽然从名字上都是验证码,但这两种所包含的内容是不一样的。

登陆身份验证码的功能是用来判断当前账户登陆是否是账户者本身,简单来说是判断是否是账户的拥有者,用验证码来效验,用户注册账号的时候都会填写手机号,那么手机号就作为身份唯一的证明,通过接收短信验证码来登陆网站,以及APP。重要操作方面的验证码,比如一些资金,提现,转币,充值,修改银行卡,牵扯资金类的重要操作,含有这个修改密码等等的属于操作类型的验证码,为的是防范别人盗用账户,对账户进行篡改,给账户拥有者带来损失,把握风控。

这两种验证码的功能都不一样,所以在对APP,网站进行安全检测的同时,查找出来的漏洞,以及发生的安全问题,都不一样。我们SINE安全工程师在对其他客户平台,APP进行测试总结下来的经验,来跟大家讲将验证码安全上的问题。

使用验证码为的就是提高APP安全,网站的安全性能,解决网站账户被暴力破解,频繁的API访问,重要操作上的验证码二次确认,防止恶意操作导致用户账户本身受损失,这些安全方面,都是为了区别开软件与人工,当用户被暴力破解,一般都是采用软件进行攻击操作,包括频繁的访问某一个API接口,也都是由软件实施,人工根本不可能实现。验证码安全检测,主要从以下几个方面进行测试:

验证码是否可以重复利用,验证码是否可被软件ocr文字自动识别,验证码是否被可以被绕过,验证码在一分钟内是否有数量的安全限制,验证码的生成规则是否可逆,输入验证码出错的次数是否会开启二次安全验证,根据近10年的安全测试经验,我们SINE安全统计发现验证码被重复利用,被自动识别这些漏洞是经常出现的,下面讲一下验证码被重复利用漏洞:

正常来讲验证码在设计过程都是与session值进行绑定,当session产生第一时间,验证码也会紧跟其后,也会直接生成与当前的session值进行双向的绑定。当用户访问APP,网站登录的时候,会自动加载验证码,登录请求到数据库进行查询比对,用户的账号密码是否正常,验证码也会判断是否正确,但这两个请求是分开来的,一个走数据库,一个走验证码,各尽其责。如果是可以先请求验证码,再请求数据库,这就导致安全问题的发生,APP的开发人员在设计的时候大多数考虑的是验证码是否输入正确,如果正确就通过,而忽略掉了可以调换业务流程的先后顺序,要判断登陆与验证码的请求是否同步,在这个细节上,导致验证码被重复利用。

我们在测试其他客户APP,网站的时候,用户登陆时候先输入验证码,验证码通过安全效验后,直接可以进行登陆用户账户与密码,在这个过程可以导致暴力破解的漏洞产生。

下一篇我们将会分享验证码被自动识别漏洞,希望我们的分享能给网站运营者与开发人员一些帮助,当在开发APP,网站验证码功能上一定要谨慎,根据我们分享的安全问题着重测试,并修复漏洞,完善网站的整体功能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档