Banner 1

Cross Site Scripting (XSS) y Vectores de Evasion

Cross Site Scripting (XSS) y Vectores de Evasion

Bueno Antes que Nada este es solo un modelo de las posibilidades que brinda esta vulnerabilidad
recomiendo utilizar Firefox ya que Chrome tiene un bloqueo de Pop-up que nos va a impedir explotar comodamente el fallo


A tener en Cuenta:

Existe 2 tipos de XSS (Cross Site Scripting) ambos se basan en la ejecucion de codigo JavaScript sin que el ClientSide este pendiente de que esto va a suceder.


Reflected:

Son Aquellos producidos por un reflejo del Vector ingresado en el codigo html, por ej: Impresion de la Busqueda en una Web


Stored:

Son Aquellos Cuyo Vector ingresado queda registrado y/o impreso directamente en el contenido html de la Web Afectada.

Un Ej de esto seria un comentario de Moderacion que se guarda en una base de datos de gestion web por un Panel de Administracion, para darle el visto bueno.

Al Ingresar por ej un Script del tipo no lo veriamos ejecutarce porq este esta pendiente de moderacion,
el Administrador al Ingresar al Panel de Moderacion este comentario se ejecutaria al momento de Moderar el Comentario. (Situacion Ideal)

Esto se puede utilizar para robar Cookies para luego lograr logearnos como ese Usuario.


Desarrollo:
En Fin Ambos Ataques se diferencian unicamente en el alcanse que poseen, XSS Reflected requiere un poco de ingenieria social para lograr nuestro Objetico

Hoy Vamos a Tomar como ejempo a http://www.napsix.com/ que posee un fallo de XSS Reflected que reportado numerosas veces sin tener respuestas ni ver Correccion del Bug.


Comencemos:

Abrimos en Nuestro Navegador http://www.napsix.com/ y vemos un flamante campo de Busqueda, interesado en ver que sucede ingreso un Vector de Busqueda.

Vector de Busqueda: >AQUI<

Inspeccionamos Elementos con Chrome y buscamos dentro del Codigo html la palabra AQUI




Vemos que no produce ningun tipo de Evacion ni Filtrado ante los caracteres ">" ni "<" esto da pie a pensar que vulnerable sin siquiera tener
que evadir con Double Encode.


Analicemos:



lo que intentaremos lograr es sacar nuestro Vector de Ataque fuera del input, como podemos ver la propiedad Value abre y cierra con doble comilla
intentaremos cerrar value, luego cerrar el input, injectar el vector y comentar el resto del codigo html


Escapando de la propiedad Value:

Para lograr esto en nuestro vector inyectaremos unas comillas dobles (")

esto quedara de la siguiente manera:



como podemos ver queda por demas al final de la etiqueta un " antes del cierre >


Escapando del Input:

Ahora escaparemos del input, la logica de lo que vemos dice q se cierra con un ">" pero con un conocimiento minimo de html sabremos que las etiquetas input se cierran con /> aunque el inspector de Elementos de Chrome diga lo contrario.

Inyectaremos como Vector ("/>)

y nos quedara de la siguiente manera:

(">)

Como vemos queda de mas al final de nuestro input "> esto producira un error de sintaxis por lo que deseamos eliminar esto ultimo
y lo vamos a lograr comentando el resto del codigo html

Por lo que agregaremos un

NOTA: revisar la fuente porque blogger daña los códigos.

Fuente: http://hdbreaker96.blogspot.com/2013/04/cross-site-scripting-xss-y-vectores-de.html

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay