Vulnerabilidad de actualización del código CAPTCHA

3

La pregunta no es programática sino conceptual.

Cuando un usuario está tratando de completar un formulario de contacto y luego el código CAPTCHA, si accidentalmente actualiza la página o no llena el campo de entrada requerido, regresará a la misma página generalmente con una nueva Código CAPTCHA. El usuario luego debe rellenar las entradas y, por desgracia, se encuentra con otro código CAPTCHA que debe resolverse nuevamente.

Yo, siendo un usuario antes que un desarrollador, lo veo como una tarea para completar constantemente los CAPTCHA y deseo que se pueda cambiar de alguna manera que no me haga distinguir innecesariamente a esos molestos caracteres en otra ocasión.

Luego de estar en el lugar de mis desarrolladores, decido cambiar la forma en que se muestra el código CAPTCHA. Guardo el código CAPTCHA en una sesión y no lo renovaré programáticamente a menos que:

  1. El usuario quiere actualizarlo.
  2. El usuario comete X errores al ingresar el mismo código CAPTCHA. (por ejemplo, 3 veces)

De lo contrario, en cada solicitud se muestran los mismos caracteres, no hay necesidad de preocuparse por las actualizaciones no deseadas. Pero siendo el desarrollador que lo pensó, puede haber posibilidades de que alguien pueda evitarlo o hacer un sabotaje de cosas que no conozco.

¿Puede ser seguro implementar este concepto y, si no, cuáles podrían ser sus vulnerabilidades?

    
pregunta revo 27.06.2016 - 15:23
fuente

2 respuestas

2

No veo cómo podría haber un riesgo de seguridad u otra vulnerabilidad como resultado de la implementación de la función que sugiere. La razón es simple: ya que no existe ningún riesgo de seguridad ni otra vulnerabilidad para no tener un CAPTCHA en primer lugar (con la posible excepción de un ataque de DOS si la acción que protege el CAPTCHA es una acción lenta ) , cualquier modificación que realice en CAPTCHA no debe crear un nuevo riesgo de seguridad. El propósito de un CAPTCHA es simplemente evitar acciones inútiles para reducir la huella de recursos del host, pero ninguna de esas acciones debe estar relacionada con la seguridad, ya que los humanos también pueden hacerlo.

Por lo tanto, incluso si desordena la función y hace que el CAPTCHA sea más fácil de superar, no debería haber ninguna nueva vulnerabilidad de seguridad como resultado de hacerlo.

En cuanto a si es o no una buena idea, en mi experiencia, los usuarios rara vez actualizan la página accidentalmente, y una buena interfaz de usuario resalta los campos requeridos, por lo que el error más probable durante el envío es el propio CAPTCHA, que probablemente desee cambie después de cada intento si el único error fue el CAPTCHA (para evitar que un bot obtenga múltiples intentos en el mismo CAPTCHA). Aunque creo que estás bien; el peor de los casos es que un bot tenga un poco más de probabilidad de vencerlo. No es gran cosa ...

    
respondido por el TTT 27.06.2016 - 16:20
fuente
1

En lugar de intentar ajustar el comportamiento de los CAPTCHA en un formulario, tenga en cuenta que la mayoría de los usuarios odian los CAPTCHA y que debería buscar el problema que realmente intenta resolver. Quizás pueda eliminar los CAPTCHA por completo, lo que haría a sus usuarios mucho más felices que el comportamiento de CAPTCHA un poco menos confuso.

Los CAPTCHA se utilizan principalmente para reducir la cantidad de problemas causados por los spammers de robots. Algunos spammers utilizan herramientas que buscan formularios de registro de páginas web e intentan registrar nuevas cuentas. Una vez que se ha creado y activado una nueva cuenta, el spammer publica enlaces a sus servicios con la esperanza de que Google indexe sus resultados, haciendo que su basura parezca más legítima. El término cortés para esta actividad de spam es "Optimización de motores de búsqueda".

Tenga en cuenta que este es un uso "suave" de CAPTCHAs. Hay millones de sitios por ahí, por lo que el propietario del sitio solo tiene que levantar un obstáculo suficiente para evitar que los spammers abusen fácilmente de él.

Si esa es la razón principal para el CAPTCHA, considere otras formas de derrotar a los spammers. Agregue etiquetas ref = nofollow a todos los comentarios de los usuarios para que Google no los indexe. Use un sistema de moderación para revisar los comentarios de los nuevos pósteres antes de publicarlos en todos los miembros. Tal vez asegure que los nuevos usuarios no puedan publicar enlaces reales hasta que sean aprobados. Incluso he visto sitios con una casilla de verificación en la página de comentarios que dice "marque esta casilla si no es un spammer", y ha sido casi tan efectivo. Una vez más, el objetivo es levantar los obstáculos para mantener alejados a los spammers automáticos.

Si el CAPTCHA se usa para proteger algo más valioso, como intentar evitar que los revendedores compren automáticamente cientos de tickets de eventos, es probable que no quiera debilitar el sistema en absoluto.

    
respondido por el John Deters 27.06.2016 - 17:23
fuente

Lea otras preguntas en las etiquetas