DVWA-Insecure Captcha

  Insecure CAPTCHA,意思是不安全的验证码,
  CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称。

reCAPTCHA验证流程

  这一模块的验证码使用的是Google提供reCAPTCHA服务,下图是验证的具体流程。

DVWA-Insecure Captcha

简单版:

  1.查看代码:

DVWA-Insecure Captcha

  可以看到,服务器将改密操作分成了两步:
        第一步检查用户输入的验证码,验证通过后,服务器返回表单。
        第二步客户端提交post请求,服务器完成更改密码的操作。
  但是,这其中存在明显的逻辑漏洞,服务器仅仅通过检查Change、step 参数来判断用户是否已经输入了正确的验证码。

  1.通过构造参数绕过验证过程的第一步:

DVWA-Insecure Captcha

  2.修改step参数为2

DVWA-Insecure Captcha

  修改成功

中等版:

  1.查看源代码:

DVWA-Insecure Captcha
medium级别的代码在第二步验证时,参加了对参数passed_captcha的检查,如果参数值为true,则认为用户已经通过了验证码检查。
2.抓包,设置参数,同时添加passed_captcha
DVWA-Insecure Captcha

困难版:

  1.查看源代码:

DVWA-Insecure Captcha

  服务器的验证逻辑是当$resp(这里是指谷歌返回的验证结果)是false,并且参数recaptcha_response_field不等于hidd3n_valu3(或者http包头的User-Agent参数不等于reCAPTCHA)时,就认为验证码输入错误,反之则认为已经通过了验证码的检查。
  2.抓包,

DVWA-Insecure Captcha
3.改参数recaptcha_response_field以及http包头的User-Agent:
DVWA-Insecure Captcha

上一篇:校招经验贴 | 支付宝“最帅安全人”:年轻就要战,加入支付宝守护12亿用户安全


下一篇:ECS 7天实践训练营进阶路线-第一天