En la API de reCAPTCHA (sin plugin), la parte clave es
<iframe src="http://www.google.com/recaptcha/api/noscript?k=your_public_key"height="300" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40">
</textarea>
<input type="hidden" name="recaptcha_response_field"
value="manual_challenge">
El sitio web que incorpora esta API en realidad le pide al usuario que recupere un iframe de reCAPTCHA usando una clave pública . Supongamos que stackexchange está utilizando reCAPTCHA y tiene una clave pública A. Y quiero atacar stackexchange mediante la evasión de su CAPTCHA.
Supongamos que tengo un sitio web que tiene algunos usuarios legítimos. Puedo incrustar una API reCAPTCHA en mi sitio web que usa la clave pública A, que es la clave pública reCAPTCHA de stackexchange. Ahora, después de que los usuarios míos hayan resuelto el CAPTCHA, enviarán una identificación y solución de desafío de CAPTCHA a mi sitio web. Después de eso, puedo enviar el mismo Id. De desafío y la misma solución a stackexchange utilizando un script automatizado. Luego omito con éxito el desafío CAPTCHA de stackexchange.
No estoy seguro de si este ataque es práctico o no. Supongamos que el navegador de mis usuarios no rellena el campo de referencia HTTP en la solicitud de reCAPTCHA, lo que evita que reCAPTCHA sepa que mi sitio web realmente está usando la clave pública de stackexchange.