第八课认识不安全验证码与案例
1什么是不安全验证码
Insecure CAPTCHA,意思是不安全的验证码,CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称。但个人觉得,这一模块的内容叫做不安全的验证流程更妥当些,因为这块主要是验证流程出现了逻辑漏洞。
reCAPTCHA验证流程如图1-1

图1-1
原理
Insecure CAPTCHA:不安全的验证码,指验证码设置不安全,可被绕过
2案例
我们先打开dvwa然后点击不安全验证码
伐码1
如图1-2

图1-2
检查用户输入的验证码,验证通过后,服务器返回表单
2.客户端提交post请求,服务器完成更改密码的操作。如图1-3

图1-3
漏洞利用
后端校验明显存在逻辑漏洞,服务器仅仅通过检查Change、step=2 参数来判断用户是否已经输入了正确的验证码如图1-4

图1-4
环境问题,没显示验证码,但不影响,反正可以绕过
抓取密码修改数据包step=1改为step=2,绕过验证码如图1-5

图1-5
Medium
代码分析
较low增加了
1.passed_captcha=true条件校验
如图1-6

图1-6
漏洞利用
增加了passed_captcha=true条件校验,当不满足验证码校验时返回You h**e not passed the CAPTCHA如图1-7

图1-7
尝试增加字段passed_captcha=true绕过图1-8

图1-8
High
代码分析
High级别代码校验如下,后续也没啥验证类限制
1.g-recaptcha-response
er-Agentr图1-9

图1-9
漏洞利用
按照限制,抓取修改密码数据包,篡改,添加限制参数
User-Agent: reCAPTCHA
g-recaptcha-response=hidd3n_valu3
如图2-1

图2-1
原理
Insecure CAPTCHA:不安全的验证码,指验证码设置不安全,可被绕过
漏洞防御
此类漏洞为验证码漏洞中绕过漏洞,可采用完善验证步骤,不要将验证步骤分开,提供攻击者中间攻击机会





