验证码绕过

                                                                                      《目录》html

验证码的做用前端

验证码绕过的常见姿式python

脚本识别后端

逻辑层面微信

 


验证码的做用

验证码根据用途主要分类俩大类:cookie

  • 图灵测试(区分人和机器,在反反爬虫中应用普遍)
  • 证实身份(好比您登陆微信,支付宝,支持短信验证码登陆)

大多数网站都会设置验证码,以免使用计算机枚举密码,窃取用户信息。函数

对于有必定视觉障碍的网友,能够采用语音验证码;不过,语音验证码里要加入随机的噪音,避免语音识别能识别出来。测试

验证码五花八门,有中文字,纯数字,点击字符、数学运算……  网站

 

 


验证码绕过的常见姿式(图灵测试类)

验证码绕过的分为俩类:脚本识别、逻辑层面。spa

 

脚本识别

使用 python 进行图像识别。

 

逻辑层面

一共九种状况,第3、四种最多见:

  • 设置了验证码并非彻底可靠,在不少状况存在验证码绕过的状况(举例是在登陆处)

1、前端验证验证码,并无后端验证。直接抓包而后进行跑数据包,反正有没有验证码的阻碍。

 

2、验证码设置了可是并无效验,乱输验证码也可以成功的登陆(估计老板没给开发工资吧)。

 

、验证码能够重复使用,好比如今的验证码1111,然后虽然您登陆失败后验证码会变,可是您输入1111他却断定验证码正确。

@http://www.anquan.us/static/bugs/wooyun-2016-0169672.html

 

、.验证码空值绕过,好比,咱们如今抓一个包,发现登陆参数是user=admin&password=admin&yzm=4123 (明文)。 yzm验证码参数,可是咱们若是去掉yzm的传参咱们就能够绕过验证码机制,直接传参user=admin&password=admin,验证码就失效了。

 

5、验证码可控制,好比他的验证码包含在URL里面,是一个URL传参,咱们能够把URL设置定为 1234 ,那么验证码就是 1234。

 

6、验证码有规则,好比是时间戳的后6位,可能使用的随机数库函数,破解那个随机数库函数便可。

@时间戳:https://tool.lu/timestamp

@随机数:http://www.javashuo.com/article/p-pgcykljz-mx.html

 

7、有万能验证码,验证码不管是什么,只要输入 000000 就能直接绕过。

 

8、验证码有的时候会藏在cookie里面,分析一下是否是存在验证码的参数。

@奇妙的漏洞:http://www.anquan.us/static/bugs/wooyun-2015-0150406.html