LOW
low级别第一步使用recaptcha_check_answer验证用户输入的正确性,但是使用了step参数控制步骤,攻击者可以随意修改step参数跳过第一步的验证过程。使用burpsuite抓包,修改step参数为2
成功绕过
MEDIUM
medium级别相对于low级别增加了passed_captcha参数的检查,通过是否设置该参数判断是否通过step1的验证。可以添加该参数并设置true绕过。
HIGH
HIGH 级别主要通过三个条件语句判断用户是否通过CAPTCHA验证,要求
r
e
s
p
参
数
为
t
r
u
e
或
者
resp参数为true或者
resp参数为true或者_POST[‘g-recaptcha-response’],$_SERVER[‘HTTP_USER_AGENT’]同时为对应的值,这两者应该为与关系,现在我们只需要满足其中之一就可以绕过验证。
抓包,添加参数g-recaptcha-response并修改user-agent为reCAPTCHA即可绕过检测。
IMPOSSIBLE
IMPOSSIBLE级别使用了Anti-Csrf Token防御csrf攻击,并且需要输入用户初始密码。
验证码部分只有$resp参数参与验证,无法绕过,并且使用了PDO防御sql注入,大大加强了防御能力。