¿Es posible filtrar la entrada del usuario en el lado del navegador para evitar la inyección?

0

He estado estudiando sobre problemas comunes relacionados con la inyección. ¿Es posible integrar algún mecanismo de filtrado para evitar la inyección en el lado del cliente? Por ejemplo, verificando la URL de la barra de direcciones para ver si hay parámetros agregados maliciosos, o verificando los formularios de entrada del usuario en el envío.
No estoy cuestionando si esta medida es 100% efectiva o necesaria o no. Quiero saber si esto es técnicamente posible y factible.

    
pregunta hate 10.06.2014 - 17:34
fuente

2 respuestas

4

Sí, es posible agregar algo como esto en el lado del cliente, pero no sería efectivo. No perdería su tiempo al agregar este tipo de protección a su cliente. Dado que está en el lado del cliente, un usuario malintencionado puede (y lo hará) omitirlo inmediatamente usando un Proxy HTTP o algo similar.

Recomendaría leer el libro El Manual del pirata informático de aplicaciones web . Esto se explica en detalle acerca de cómo un usuario malintencionado atacará su sitio y le indicará herramientas gratuitas que le permitirán atacar un sitio de prueba que usted controla de la misma manera que lo haría un pirata informático. En realidad, esto abrirá los ojos a cómo funciona realmente la seguridad web.

    
respondido por el Abe Miessler 10.06.2014 - 17:39
fuente
0

Hay dos falacias:

  • En caso de un ataque de inyección contra el servidor, el propio cliente es el atacante. En otras palabras, le estás pidiendo al atacante que evite su propio ataque. Esto obviamente no tiene sentido. Incluso si la persona que usa el navegador está realmente de su lado y solo pierde el control de su navegador (debido a XSS, CSRF o lo que sea), es seguro asumir que el cliente omitirá cualquier acción de seguridad que solicite para.

  • Pareces pensar que hay un tipo de procedimiento de talla única para que mágicamente la entrada sea "segura". Pero los ataques de inyección dependen del contexto exacto. ¿Estamos hablando de inyección de HTML? ¿Inyección SQL? Inyección de concha? Cada uno de ellos trabaja de manera diferente y requiere diferentes formas de protección. La única forma válida de manejar esto es preparar el servidor de datos para cada contexto específico.

respondido por el Fleche 10.06.2014 - 18:55
fuente

Lea otras preguntas en las etiquetas