APP验证码逻辑漏洞该怎么去检测

程序流程在开发设计的那时候,由于程序流程的繁杂和一些其他缘故,造成在程序流程的解决逻辑性上带一些难题,并且逻辑性系统漏洞自身并不是像xss或是sql那般是技术性缘故,因此拿一般的专用工具较难发觉,可是其伤害挺大,一般多见于金融业或是电子商务网站多见,像一般的登陆或是找回密码这些常有这类系统漏洞的概率。下边对普遍的逻辑性系统漏洞开展简易解析。

短信验证码能够 立即工程爆破。

一般的验证码短信要不是4位要不是6位以某APP为例:

接收验证码后随便填好,抓包软件:

随后在intruder里工程爆破:

再用得到的短信验证码登陆就可以。

这儿存有的关键难题是沒有开展登陆限定人们能够 在他限定的時间内一直工程爆破下来寻找最后的图形验证码。

图形验证码避过1

以ESPCMSV6的一个系统漏洞为例,在vip会员和后台管理的地区对验证码识别的方法是能够 避过的,在文档/upload/interface/member.php500行上下的部位是后台管理检测短信验证码的地区:

看一下他检验短信验证码的方法,将键入的短信验证码与cookie中的值较为,这代表哪些?要是人们不更改cookie中的值及其键入的短信验证码的值,那麼就能够 避过验证码识别。换句话说短信验证码是和cookie关联的,如下图所示要是更新一下更改短信验证码下边的那条cookie就跟随转变。要是不更改这2个值就能应用一个短信验证码不断登录,那样就能工程爆破了。

假如工程爆破得话也要处理此外一个难题,每一登录界面只有恳求一次,由于还有一个掩藏的token主要参数:

那样的话还要每试着一次动态性获得这一token值,在其中token中的值是和回到的PHPSESSID关联的,因此这儿同歩获得PHPSESSID和token随后开展工程爆破。比如在burp中只必须升级post数据信息中tokenkey的值就可以再度分包,可是并不容易开启验证码错误。

还可以应用脚本制作:

短信验证码的验证避过

以某企业网站为例,在找回密码页面,键入账户密码,点一下接收验证码:

短信验证码随意输,点击下一步,阻拦回到包:

将status改成0,随后就能够 进到密码重置页面:

此外也存有更换手机号码的状况,及将短信验证码发送至你更换的手机,而找到的登陆密码還是原先的账户。

短信验证码泄漏

以某APP为例

短信验证、要找到的账户和手机号码,点一下“接收验证码”,另外阻拦抓包软件,随后就能够 在回到包中见到要验证的短信验证码,那样无需获得客户的手机上,也可以获得他的短信验证码:

短信验证码难题防御力方式

短信验证码最少是6位大数字,且有時间限定、获得频次限定和不正确频次限定。

短信验证码的认证要放进服务器端实行,不可以将短信验证码回到到前端开发。

若只有放进前端开发,务必采用数据加密对策。

多步校检,例如找回密码第一步认证了,最终一步递交时还要认证。如果您的网站也存在逻辑漏洞,不知该如何进行检测以及修复,可以找专业的网站安全公司来进行处理,国内SINE安全,绿盟,鹰盾安全,深信服,启明星辰都是比较不错的。

分享: