Esta publicación hace referencia a Google ReCaptcha v2 (no la última versión)
Recientemente, Google introdujo un sistema simplificado de verificación de "captcha" ( video ) que permite a los usuarios pasar el "captcha" simplemente haciendo clic en él.
Pero, ¿cómo puede diferenciar un bot de una persona con solo un clic?
Según esta respuesta , (suponiendo una implementación similar), al principio "recaptcha" genera una clave oculta y la adjunta a un elemento de entrada oculto y también presenta de forma perezosa una casilla de verificación (no una casilla de verificación real input
sino a div
) con la misma clave que cuando se hace clic, envía una solicitud asincrónica (XHR) a los servidores de back-end de Google para marcarla como una clave de verificación válida (es decir, una clave que debe validarse cuando se envía el formulario).
Pero, ¿por qué los bots no pueden automatizar ese clic (al menos, bots basados en navegador)?
¿Cómo podría funcionar esto?
Respuestas:
Esto es especulación, pero según la referencia de Google al "motor de análisis de riesgos" que utilizan ( http://googleonlinesecurity.blogspot.com/2014/12/are-you-robot-introducing-no-captcha.html )
Supongo que se ve cómo te comportaste antes de hacer clic, cómo se movió el cursor en su camino hacia la marca de verificación (ruta orgánica / aceleración), en qué parte de la casilla de verificación se hizo clic (lugares aleatorios o muertos en el centro cada vez), navegador huella digital, cookies y contenido de Google, haga clic en el historial de ubicaciones vinculado a su huella digital o cuenta si detecta una, etc.
Es bastante difícil fingir un comportamiento "orgánico" de tal manera que engañaría a un motor de detección de patrones de aprendizaje continuo. En los casos en los que no está seguro, aún le solicita que coincida con una cadena CAPTCHA real.
fuente
Se ha publicado un nuevo documento con varias pruebas contra reCAPTCHA:
https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf
Algunos puntos destacados:
Google ya ha solucionado la vulnerabilidad de las cookies y probablemente está restringiendo algunos comportamientos basados en IP.
Otro hallazgo interesante es que Google ejecuta una VM en JavaScript que ofusca gran parte del código y el comportamiento de reCAPTCHA. Esta VM se conoce como botguard y se usa para proteger otros servicios además de reCAPTCHA:
https://github.com/neuroradiology/InsideReCaptcha
ACTUALIZACIÓN 2017
Se publicó un artículo reciente (de agosto) en WOOT 2017 que alcanzó un 85% de precisión en la resolución de desafíos de audio noCAPTCHA reCAPTCHA:
http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf
ACTUALIZACIÓN 2018
Google presenta reCAPTCHA v3, que parece un "motor de predicción de puntaje humano" que está calibrado por sitio web. Se puede instalar en diferentes páginas de un sitio web (funciona como un script de Google Analytics) para ayudar a reCAPTCHA y al propietario del sitio web a comprender el comportamiento de los humanos frente a los bots antes de llenar un reCAPTCHA.
https://www.google.com/recaptcha/intro/v3beta.html
fuente
mouse events don't affect the results
Eso es interesante, ya que yo (y creo que muchos otros) habían pensado que eso era lo principal que afectaba los resultados. Pensé que en el móvil en lugar de la casilla de verificación, se les pidió a los usuarios que seleccionaran todas las imágenes similares, porque no hay movimientos del mouse en una pantalla táctil. Sin embargo, mirando de nuevo la publicación introductoria del blog, parece que ese podría no ser el caso. Quizás seleccionar imágenes es en lugar de escribir texto distorsionado, no en lugar de marcar una casilla. ¿Sabes (o alguien) si reCAPTCHA permite simplemente marcar una casilla en el móvil?Tab
yEnter
para seleccionar la casilla de verificación, se mostrará el captcha de imágenes para que pueda seleccionarlas según un criterio.Tab
yEnter
no mostrarán la imagen captcha todo el tiempo. La mayoría de las veces presionandoTab
yEnter
es aceptadoMis Bots están funcionando bien contra ReCaptcha.
Aquí mi solución.
Deje que su Bot haga estos pasos:
Primero escriba una función de movimiento del mouse humano para mover su mouse como un B-Spline (Pídame el código fuente). Este es el punto mas importante.
También use para obtener mejores resultados una VPN como https://www.purevpn.com
Para cada Recpatcha, siga estos pasos:
Si usa primero el interruptor de VPN IP
Borrar todas las cookies del navegador
Borrar todo el caché del navegador
Establezca uno de estos Agentes de uso al azar:
a. Mozilla / 5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident / 5.0)
si. Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 44.0) Gecko / 20100101 Firefox / 44.0
5 Mueva su mouse con el mouse humano Mueva la función de un RandomPoint a la imagen No soy un robot cada vez con un rango aleatorio diferente de 10x10
Luego haga clic siempre con retraso aleatorio entre
WM_LBUTTONDOWN
y
WM_LBUTTONUP
Tomar una captura de pantalla de Image Captcha
Enviar captura de pantalla a
http://www.deathbycaptcha.com
o
https://2captcha.com
y deja que resuelvan.
Después de recibir click cooridinates del solucionador de captcha, use la función de movimiento del mouse humano para mover y haga clic en Recaptcha Images
Use la función de movimiento del mouse humano para moverse y haga clic en el botón de verificación Recaptcha
En el 75% de todos los intentos, Recaptcha se resolverá
Chears Google
Tom
fuente
Puedo presentar mi suposición, ya que esta no es una tecnología abierta.
Google dice que se trata de combinar información de antes, durante y después para distinguir entre humanos y robots. Pero estoy más interesado en ese clic final en la casilla de verificación.
Digamos que los datos POST (CAPTCHA resuelto) tienen un campo llamado huella digital, una cadena calculada a partir del comportamiento del usuario. Creo que puede haber un campo sobre la ubicación de esa casilla de verificación. Supongo que esta casilla de verificación está en un sistema de coordenadas generado aleatoriamente por el back-end de Google y encriptado por la clave pública de mi sitio. Por lo tanto, un robot puede "adivinar / calcular" una ubicación sobre este cuadro, pero cuando el propietario del sitio realiza la consulta GET con clave privada para verificar la identidad del usuario, Google descifrará el sistema de coordenadas y dirá si el usuario hace clic en el lugar correcto. Por lo tanto, solo un posible clic derecho (con algunos desplazamientos, es un cuadro cuadrado) en este sistema de coordenadas aleatorias propiedad de Google y los propietarios del sitio.
fuente
Recuerde que Google también usa reCaptcha junto con
para reconocer de forma exclusiva a los usuarios / navegadores sin cookies!
fuente