verificando como defensa para el ataque XSS

3

Después de leer la pregunta sobre el referente y la respuesta de @DW, no entendí la siguiente parte:

  

Defensa XSS. La comprobación estricta del remitente puede realizar ataques XSS reflexivos   más difícil, porque otros sitios no pueden engañar al navegador de la víctima   visitando la URL vulnerable.

No lo entendí. Entonces, si en mi sitio implementé el verificador de referencias y me redireccionó a una página específica si vengo de otra cosa fuera de mi sitio, ¿cómo me ayuda con los ataques XSS?

Puede ser que malinterprete algo, y también lamento si es obvio para alguien.

    
pregunta Salvador Dali 22.11.2012 - 18:09
fuente

5 respuestas

4

Muchos de los contramedidas de falsificación de solicitudes en todos los sitios harán que el XSS reflectivo sea más difícil Para explotar pero no imposible. Todavía puede ser posible explotar una de estas fallas con clickjacking o otros métodos . El clickjacking y otros vectores también deberían ser fijos, pero no es una solución simple ni infalible en comparación con la validación de entrada / saneamiento.

Hay problemas con el encabezado de referencia como medida de seguridad. Si la solicitud se origina en una página HTTPS que va a una página HTTP, el Referer estará ausente. El encabezado de origen se creó para abordar este problema. Un OWASP A10: los redireccionamientos sin validar y los fora también se pueden usar para omitir una verificación de referencia.

    
respondido por el rook 23.11.2012 - 03:09
fuente
3

La protección del remitente no es infalible si tiene otras vulnerabilidades en el sitio.

Si tiene un redirección abierta en su sitio (o incluso uno con cheques para ver si el enlace está interno), podemos colocar la URL vulnerable en esta redirección, y los usuarios se envían a la página vulnerable con un referente correcto (interno).

    
respondido por el fin1te 23.11.2012 - 15:40
fuente
2

La verificación de los remitentes ayudará con algunas clases de XSS - XSS reflejado y DOM XSS, pero no tendrá ningún efecto en el XSS almacenado .

    
respondido por el Vitaly Osipov 23.11.2012 - 00:36
fuente
2

Nota: haré una respuesta ya que la respuesta actual aceptada no respondió la pregunta.

Reflective XSS básicamente implica engañar a una víctima para que haga clic en un enlace a su sitio web:

  • Un atacante puede enviar por correo electrónico a una víctima el enlace your-website.com/query?<script>alert('hacked!');evil();</script>

  • evil.com puede vincular a your-website.com/query?<script>alert('hacked!');evil();</script> y engañar a una víctima para que haga clic en él.

Si su sitio web realiza una comprobación estricta de referencias, rechazará las solicitudes como las anteriores.

Por supuesto, si su sitio web permite a los usuarios publicar enlaces, entonces un atacante puede publicar el enlace your-website.com/query?<script>alert('hacked!');evil();</script> debajo de su sitio web. La comprobación estricta del remitente fallará, ya que el remitente es su propio sitio web.

    
respondido por el Pacerier 06.06.2014 - 18:55
fuente
0

Creo que, en realidad, es bastante simple: desde la página a la que te redireccionamos, solo aceptas referencias de tu propio sitio (es decir, dominio), XSS es más difícil (solo se permite un sitio).

Pero eso tendría el inconveniente de que no se puede acceder a esa página desde el exterior, solo la referencia, lo que hace que la lectura de las URL sea bastante complicada (pero las desventajas están bastante bien explicadas por D.W.).

un ejemplo: Di que tienes un blog. el acceso directo al blog / post / id / 12 no está permitido (verificador de referencias), pero el acceso al enlace perma de la publicación (blog / post / perm / 12) está permitido. El enlace perma solo le sirve al remitente, el remitente redirige a la publicación (blog / post / id / 12) - ¡y listo!

    
respondido por el alex 22.11.2012 - 18:19
fuente

Lea otras preguntas en las etiquetas