ATAQUE XSS

IMPORTANTE

El siguiente ataque tiene fines académicos, no nos responsabilizamos del uso que se le dé a esta información. Nuestro propósito es dar a conocer ésta técnica para que usted se proteja de ataques similares.

Introducción

El ataque XSS o “Cross-Site Scripting” es un tipo de vulnerabilidad o inseguridad informática típico de las aplicaciones web, el cual consiste en inyectar código java Script en páginas web ajenas.

Tipos de ataques XSS

Indirecto o reflejado. Consiste en modificar los valores de las variables que se envían de una página a otra con el fin de modificar su comportamiento, pero no de forma permanente.

Directo o persistente. Consiste en inyectar código java Script en páginas web vulnerables por medio de cajas de texto para que el comportamiento de la aplicación web cambie de forma permanente. Un ejemplo común podría ser un foro.

Objetivos

Este ataque es útil para:

  • Modificación del contenido
  • Acceso a la información confidencial o restringida
  • Robo de sesión
  • El robo de identidad
  • La alteración de la funcionalidad del aplicativo web
  • Ataques de denegación de servicio.

Uno de los propósitos mas latentes del uso de este ataque es el robo de datos personales, por ejemplo el atacante envía una dirección con java Script inyectado ya sea en la aplicación web (persistente) o en la dirección URL (reflejado) y este se re-direcciona a una página falsa idéntica a la pagina real, donde el usuario sin darse cuenta ingresa todos sus datos personales, ya sean estos claves bancarias, tarjetas de crédito, etc. los cuales irán directamente a la base de datos del atacante.

Diagrama del ataque

Alcance

Es posible encontrar una vulnerabilidad XSS en aplicaciones que tenga entre sus funciones presentar la información en un navegador web u otro contenedor de páginas web. Sin embargo, no se limita a sitios web disponibles en Internet, ya que puede haber aplicaciones locales vulnerables a XSS, o incluso el navegador en sí. También puede comprometer toda una red de servidores dependiendo del sistema y los conocimientos del usuario de Administración.

Este ataque afecta:
–          Redes LAN
–          Redes WAN
–          Personas
–          Servidores Locales y Remotos

Glosario

WEB
World Wide Web. Red informática mundial. se utiliza en el ámbito tecnológico para nombrar a una red informática.
Cookie
Término informático relacionado con la información que guarda un servidor sobre un usuario en su equipo.
HTML injection 
Consiste en la inyección de código HTML en una web.
HTTP  
Hypertext Transfer Protocol. Protocolo de transferencia de hipertexto. Usado en cada transacción de la World Wide Web.
Java Script
Lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipiado y dinámico.
Red LAN
interconexión de una o varias computadoras y periféricos
Red WAN 
Wireless Application Protocol
Nuevo protocolo para aplicaciones inalámbricas. Incluye un lenguaje WML, similar al HTML de Internet y un navegador.
Script 
programa usualmente simple, que por lo regular se almacena en un archivo de texto plano
URL  
localizador de recursos uniforme. Secuencia de caracteres, de acuerdo a un formato modélico y estándar, que se usa para nombrar recursos en Internet para su localización o identificación, como por ejemplo documentos textuales, imágenes, vídeos, presentaciones digitales, etc.
XML 
eXtensible Markup Language (‘lenguaje de marcas extensible’), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C).

 

TUTORIAL PASO A PASO

Ataque reflejado

1.- Entramos a la página web que atacaremos en este caso http://www.tecniciencia.com

Recuerden que la página tiene que ser vulnerable a nuestro ataque.

2.- Ingresamos algún parámetro de búsqueda o damos clic en algún enlace dentro de la pagina para q en el URL nos aparezcan los parámetros de búsqueda.

3.- Ingresar el siguiente código java script en la URL asignándosela a la variable txtBuscar, de esta manera borramos todo lo q esta después del igual “=” y colocamos en su lugar nuestro script.

 <script>alert("Pagina vulnerable a ataques XSS");</script>

Quedando como resultado:

4.- Y damos ENTER y tenemos el ataque reflejado

5.- Si luego volvemos a entrar a la página veremos q ya habrá regresado a la normalidad

Ataque persistente

1.- Entramos a la página que atacaremos esta vez vamos a entrar a

www.testasp.vulnweb.com/showthread.asp?id=17

2.- En esta página insertaremos el script en la casilla del asunto del mensaje.

<h1> PAGINA HACKEADA </h1>

La etiqueta <h1> hace referencia a la instrucción TITULO, y el texto ingresado entre estas etiquetas aparecerán como título. Esto demuestra que el navegador web ejecuto nuestra instrucción, y será permanente.

3.-  A continuación vamos hacer q la página se re-direccione hacia otra después de un lapso de 15 segundos para esto utilizaremos la siguiente línea de código:

<meta http-equiv=”refresh” content=”15;URL=’http:cisc.ug.edu.ec/index2.php’”>

 

4.- Luego refrescamos la pagina y veremos q después de los 15 segundos se direcciona hacia la pagina q pusimos en el código, en este caso a http://www.cisc.ug.edu.ec/index2.php

 

Este direccionamiento seguirá en la pagina aunque salgamos y volvamos a entrar, el problema es q el usuario se da cuenta que está siendo re-direccionado fuera de la pagina debido a la espera porque se muestra la pagina original.

5.- Para un re-direccionamiento inmediato procedemos a cambiar el “15” por “0”, procedemos a  inyectar el mismo código pero que el refresh se haga en 0 segundos a la página https://losindestructibles.wordpress.com/

<meta http-equiv="refresh" content="0;URL='https://losindestructibles.wordpress.com/'">

 

6.- Con el método persistente, la página web quedo alterada, y ahora al ingresar a http://testasp.vulnweb.com/showthread.asp?id=17 su comportamiento habrá cambiado y ahora nos enviara a https://losindestructibles.wordpress.com/ de inmediato.

 

 Recomendaciones

Esto es posible debido a que no se filtran correctamente los datos de entrada que se pasan a la aplicación. Por esta razón se debe validar cada uno de los campos de ingreso de variables, evitando así el ingreso de códigos HTML, java Script, comillas, etc.

Conclusiones

Este ataque puede causar un gran daño y a su vez también puede ser la fase inicial de ataques con mayores efectos dañinos para los usuarios, para crear una página web que contenga información muy importante, es fundamental tener conocimientos muy profundos de seguridad informática.

 

Integrantes:

Alcivar Vargas Bryan                         @BryanHAV20
Carangui Herrera Marlon                   @i8_C
Espinoza Chica Karina                        @kaec_2208
Resabala Vera Renato                        @RenatoResabalav
Sánchez Hermida Priscilla                  @priska3000

VIDEO