第八课认识不安全验证码与案例

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:不安全的验证码,指验证码设置不安全,可被绕过

  漏洞防御

  此类漏洞为验证码漏洞中绕过漏洞,可采用完善验证步骤,不要将验证步骤分开,提供攻击者中间攻击机会

(本章完)

相关推荐