首页 > 技术文章 > DVWA-Insecure Captcha

my-boke 2021-01-31 19:30 原文

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

reCAPTCHA验证流程

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

简单版:

  1.查看代码:

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

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

  2.修改step参数为2

  修改成功

中等版:

  1.查看源代码:


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

困难版:

  1.查看源代码:

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


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

推荐阅读