DVWA靶场通关-Insecure CAPTCHA (不安全的验证码)

Brute Force(暴力(破解))、Command Injection(命令行注入)、CSRF(跨站请求伪造)、         File Inclusion(文件包含)、File Upload(文件上传)、Insecure CAPTCHA (不安全的验证码)、       SQL Injection(SQL注入)、SQL Injection(Blind)(SQL盲注)、XSS(DOM)(基于DOM树)、       XSS(Reflected)(反射型跨站脚本)、XSS(Stored)(存储型跨站脚本)

reCAPTCHA验证原理

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

 服务器通过调用recaptcha_check_answer()函数检查用户输入的正确性。

  • CAPTCHA漏洞利用验证机制的逻辑漏洞,下面给出验证流程。

可以利用服务器核对验证信息这个环节,绕过CAPTCHA验证,完成非人类请求

审计

  • 使用Anti-CSRF token机制防御CSRF攻击。
  • 验证步骤合并为同一步,无需分开,使得验证环节无法绕过。
  • 要求输入修改之前的密码,攻击者无法绕过。
  • 利用PDO技术输入内容过滤,防止了sql注入。

等级low

burp抓包,发现step=1,触发源码中的captcha(验证码)验证

step=1&password_new=123456&password_conf=123456&Change=Change

如果验证成功,会发生step=2,密码修改成功

burp抓包,直接改成step=2,跳过验证码验证,直接修改密码

 等级Medium

 代码增加了passed_captcha=ture的验证,本质上没有区别。依旧可以通过参数step、passed_captcha进行绕过。step=2  ,拼接&passed_captcha=ture

step=2&password_new=111&password_conf=111&Change=Change&passed_captcha=ture

等级high

代码中没有验证step,而是验证

$_POST[ 'g-recaptcha-response' ] == 'hidd3n_valu3'
            && $_SERVER[ 'HTTP_USER_AGENT' ] == 'reCAPTCHA'

burp抓包将这两个值进行修改

 

 

posted @ 2023-09-17 21:02  TinKode  阅读(307)  评论(0)    收藏  举报