验证码绕过
1.验证码介绍
(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
2.绕过验证码
验证码绕过的各种姿势
-
前端验证:抓包跑包即可绕过,数据包不受前端影响
-
验证码无校验:有即可输入
-
验证码重复使用:正确一次即可重复利用。
eg:http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2016-0169672
-
验证码空值绕过:直接删除数据包验证码传参即可绕过。
eg:http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0155066
-
验证码太弱:验证码过于简单,例如四位数字,利用脚本即可识别。
eg:http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2016-0194576
-
验证码输出在html页面:可以自动化获取进行登录入口的爆破!
eg: http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0146767
-
验证码可控制:验证码的开关被放在了强求中。
eg:http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2014-071289
-
验证码有规则,比如是时间戳的后6位或者有规律的伪随机数。
-
有万能验证码,验证码无论是什么,只要输入000000就能直接绕过。
-
验证码有的时候会藏在cookie里面,分析一下是不是存在验证码的参数。
-
图片验证码,类型太少,易识别
eg:http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0102178
-
多次登录后才出现验证码
①基于session:cookie中包含session_id来判定验证码出现,删除即可。
eg:http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0102178
②基于IP:判断来源IP,可以替换X-Forwarded-For或者通过切换代理。
eg:http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2014-080327
③基于用户:爆破用户名即可绕过。
密码找回
1.密码找回类型
- 找回密码。往邮箱或者手机发送明文或密文的密码或者验证码,通过这样的方法来判断是否是本人。
- 重置密码。发送一个重置密码的链接到邮箱。
2.密码找回漏洞
-
验证码发送后前端返回,抓包即可看到发送的验证码。
(http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0114577)
-
验证码无次数限制可爆破。
(http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0155994)
-
验证码可控,验证码参数可抓包修改。
(http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2014-086716)
-
直接修改密码页面:爆破完验证码直接访问重置密码界面即可重置密码。
(http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2013-040908)
-
越权漏洞-->自己验证码通过改包然后修改他们密码
http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0102205
http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2013-016896
以上案例皆来自于乌云漏洞库,可能在某一天就没有了,大家可以找其他镜像站。
靶场作业
由于敏感信息所以请邮件联系或者关注公众号