XSS y CSRF. Una gran diferencia

1

Por lo tanto, hay "sólo" una diferencia entre XSS y CSRF.

Y es que XSS obliga a que se ejecute un script (o hace que se tome una acción por algún medio), mientras que CSRF realiza una solicitud HTTP.

El script (acción) en XSS se puede bloquear (por ejemplo, mediante NoScript), pero la solicitud HTTP no se puede bloquear.

Mi pregunta es si esto es correcto (Sí o No). Si esto no es correcto, ¿dónde está mi error?

PS: ¿hay alguna otra opción para que XSS se active (qué otra cosa podría ser la "acción" para activar un XSS), o es activada específicamente por Javascript.

Gracias

Editar: esta publicación se puede eliminar. Presenté una pregunta más "correcta" en el enlace de abajo, donde obtuve la respuesta que estaba buscando. Gracias por la ayuda aunque :)

XSS y CSRF: diferencia básica

    
pregunta DrDoom 14.06.2017 - 07:49
fuente

1 respuesta

4

La principal diferencia entre XSS y CSRF es la perspectiva:

  • XSS: aprovecha la confianza que el usuario tiene en un sitio web en particular
  • CSRF: aprovecha la confianza que el sitio web tiene para el navegador del usuario

XSS tiene una dependencia con JavaScript sí, pero no está limitado a ese alcance. Lo que quiero decir es que necesita javascript para la carga útil, pero se sabe que las cargas útiles se ejecutan no solo por JS, sino también por ActiveX, flash, VBScript y html, por nombrar algunos. Todo depende de lo que el sitio permitirá a los usuarios cambiar en el propio sitio. Por lo tanto, noscript es una excelente manera de detener la ejecución de scripts de nivel superior (piense <script>attackmeplease()</script> ) pero, dependiendo del sitio, alguien puede ser realmente inteligente al insertarlo en, por ejemplo, medios flash que el usuario puede ejecutar porque es un sitio para compartir videos (un Por ejemplo, pero se entiende la idea, la ingeniería social juega un papel importante.

CSRF no tiene tal dependencia de javascript y está diseñado para enviar una solicitud a otros sitios web sin el conocimiento de los usuarios. Es altamente dependiente de la capacidad de los navegadores para obtener y ejecutar el paquete de ataque. Otra diferencia es que puede venir en más formas, como etiquetas de imagen HTML, objetos de imagen javascript, documentos de Word, películas, correos electrónicos, etc. La solicitud en sí no puede ser bloqueada si el paquete se ejecuta, pero el sitio puede validar la solicitud.

Algunas otras diferencias son los requisitos para la creación de instancias, en una, el usuario debe visitar un sitio específico, en la otra debe usar un medio contaminado que puede provenir de una variedad de fuentes, no solo de un sitio. El último punto de falla también es diferente, en XSS el usuario es el último punto de falla, mientras que en CSRF el servidor es.

Otra gran diferencia es que un sitio que es vulnerable a XSS es casi seguro que es vulnerable a CSRF, mientras que estar protegido de XSS incluso por completo no significa que esté protegido de CSRF.

    
respondido por el Nalaurien 14.06.2017 - 08:33
fuente

Lea otras preguntas en las etiquetas