2010-06-16 6 views
7

Soy un desarrollador web de un sitio web que ocasionalmente está plagado de bots de formulario. Recientemente recibí una notificación de error de un problema con el envío del formulario que debería ser imposible para un usuario humano. No puede enviar el formulario sin JavaScript activado, pero el script del lado del servidor recibió un valor de campo de formulario que la validación de JavaScript no permitirá.Prueba de contramedida de formulario Bot

Sospecho que un formulario bot logró enviar el formulario sin ejecutar el JavaScript, pero no estoy del todo seguro de que este sea el problema porque un usuario real tuvo un problema similar. Sé cómo usar los campos de honeypot como una contramedida para los bots de formularios, pero necesito probar mis contramedidas. Por lo tanto, necesito un bot de formulario de trabajo para atacar mi formulario para poder ver cuál sería el resultado y para verificar que mis contramedidas funcionarán.

Creo que puede usar PHP con Curl para enviar formularios web pero no puedo encontrar ningún código de muestra. Preferiría usar un bot de formulario real para estar seguro de que los campos de honeypot no se pueden eludir fácilmente.

¿Alguien sabe lo que se está utilizando actualmente para atacar formularios web? ¿Cómo evalúa sus contramedidas para asegurarse de que sean efectivas?

Respuesta

1

Personalmente, uso una extensión de FireFox llamada Tamper Data. Envíe el formulario normalmente, pero luego puede modificar los parámetros HTTP (Variables, cookies, etc.) antes de enviarlo al servidor. De esta forma, puede cambiar manualmente los campos validados. Puede automatizarlo con PHP y CURL ...

El hecho es que no desea ejecutar un bot real contra él, porque eso solo probaría uno (quizás dos) métodos para romper su validación. Desea ejecutar el suyo, de esa forma puede probar todas las combinaciones posibles que pueda imaginar. Si lo automatizas con PHP/CURL, podrías ejecutar la prueba con cada cambio (una prueba de integración) para verificar que no "rompiste" nada ... No debería ser demasiado difícil de escribir, ya que el CURL functions are pretty well documented ...

+0

Finalmente encontré un código CURL que estaba intentando la última vez que luché con este problema. Supongo que los datos de Tamper serán útiles para dar a la lista desplegable su valor predeterminado. Entonces puedo ver qué tipo de error causa el código del lado del servidor. – rsrobbins

0

¿Qué hay de captchas para proteger su forma?

+0

Estoy seguro de que mi cliente no querría un captcha. Desanimaría a los solicitantes. – rsrobbins

Cuestiones relacionadas