¿Qué es la creación de scripts entre sitios? [duplicar]

4

Primero pregunto, ¿hay una definición absoluta? He hecho un poco de Google y parece que todos dicen algo diferente.

En SO dice una persona

  

Existe una vulnerabilidad XSS siempre que una cadena fuera de su   La aplicación puede interpretarse como código.

Esto suena similar a una inyección de SQL pero ataca al servidor web, no al usuario?

Otro

  

Los scripts de sitios cruzados básicamente son una vulnerabilidad de seguridad de la dinámica   páginas web donde un atacante puede crear un enlace malicioso para inyectar   JavaScript ejecutable no deseado en un sitio web. El caso más habitual de   esta vulnerabilidad ocurre cuando las variables GET se imprimen o se hacen eco   sin filtrar ni verificar su contenido.

Una vez más, parece que alguien se metería con la URL para poner código malicioso en las variables pasadas GET, pero ¿no sería esto como atacar a uno mismo?

Este artículo estaba en la parte superior de una búsqueda de Google, pero Parece remolacha alrededor del arbusto y no define nada. Implica que XSS se hace generalmente con JavaScript, ¿es cierto?

    
pregunta Celeritas 22.07.2012 - 01:34
fuente

2 respuestas

6

Primero pregunto: ¿hay una definición de aboslute?

¿Hay una definición absoluta de algo en estos días? Encontrará que la mayoría de las definiciones para XSS dicen lo mismo al final. XSS básicamente está inyectando scripts maliciosos a través de entradas de usuarios sin saneamiento.

Echa un vistazo a estas dos animaciones: XSS Animation 1 y XSS Animation 2

Esto suena similar a una inyección de SQL pero ataca al servidor web, no al usuario?

Los scripts XSS generalmente se ejecutan en el navegador de los clientes y atacan al usuario (no estoy diciendo que no sea perjudicial para el servidor también)

Una vez más, parece que alguien se metería con la URL para poner código malicioso en las variables pasadas GET, pero ¿no sería esto como atacar a uno mismo?

Puede compartir la URL no segura con otras personas que usan el sitio web. Tal vez sea tan simple como un enlace de Facebook que hace que la persona le envíe toda su información personal.

Implica que XSS se hace generalmente con JavaScript, ¿es cierto?

Sí. Por ejemplo: ingrese esto en un formulario de sitios, %código% . Si ve una alerta con xss , el sitio es vulnerable. Desde allí estás limitado por tu imaginación y experiencia.

Myspace fue un baño de sangre en lo que respecta a XSS. Busca el gusano Sammy. Le sorprenderá la cantidad de personas / empresas que ignoran XSS (y la seguridad en general). Trabajé para una empresa en la que podría escribir fácilmente un gusano XSS simple que borraría todos los datos de los usuarios (en el sitio web) y, posteriormente, eliminar también todos los datos de sus contactos, eliminando así la información de todos. Esto implicaba llamar a la API de aplicaciones en nombre del usuario dentro de JS. Regla general, nunca confíe en la entrada del usuario.

    
respondido por el Kurt 22.07.2012 - 02:35
fuente
3

XSS es un defecto que se produce solo en sitios que generan páginas de forma dinámica. Los sitios web con páginas estáticas no son vulnerables a XSS. Es una inyección de código html o javascript para que el servidor web se refleje en un cliente o el navegador del cliente para ejecutar; pero no es la inyección de sentencias de SQL como en SQLi, donde tiene una base de datos en el back-end.

Los defectos de XSS son de tres tipos.

  • Persistente: la entrada del usuario consiste en un código de software malintencionado que se almacena en la aplicación web y se procesa después de cada solicitud para leerlo junto con parte de los datos.

  • No persistente: la entrada del usuario consiste en un código malicioso que se devuelve en la respuesta del servidor a la solicitud, no se almacena en la aplicación web, por lo que es específica de esa solicitud.

  • Basado en DOM: esto no implica al servidor web, es local al navegador web. Creo que esto es lo que estás buscando.

Consulte este enlace para obtener una buena explicación sobre XSS. Para evitar XSS debes realizar validaciones de entrada.

    
respondido por el Kapish M 22.07.2012 - 02:08
fuente

Lea otras preguntas en las etiquetas