sábado, 16 de marzo de 2013

Hacking #3

XSS
aka Cross Site Scripting
es el ataque basado en la explotacion de vulnerabilidades de el sistema de validación de HTML incrustado.
El problema es que normalmente no se valida correctamente, esta vulnerabilidad puede estar de forma directa (foros, mensajes de error, etc..) o indirecta (redirecciones, framesets, etc..)
cada una se trata de forma diferente:

TipoManejo
DirectaEste tipo de XSS, es el que normalmente es censurado, asi que es muy poco comun que puedas usar tags como <script o <iframe, sinembargo nunca es malo probar, para ver formas de pasar estas protecciones, debes de saber mas de HTML que el creador del sitio
IndirectaEsta es un tipo de vulnerabilidad, muy comun, y muy poco explotada, consiste en modificar valores que la aplicacion web utiliza para pasar variables entre 2 paginas, sin usar sesiones.

Indirecta
Explicare primero la Indirecta, ya que es la menos censurada.
Esta sucede cuando hay un mensaje o una ruta en la URL del navegador o en la cookie.
para saber el contenido de una cookie, sin usar ningun tipo de iecv o addin para tu navegador, puedes usar el siguiente script, solo colocalo en la barra de direcciones, y presiona Enter.
Codigo



una vez dentro podras modificar la cookie a tu antojo, si pones cancelar la cookie se borrará.
ahora, que podemos ver con este ejemplo?
que podemos meter comandos javascript solo modificando una URL, como puedes aventajarte de esto?

Usando FrameSets
bien, regresemos al ejemplo de el frameset, que segun la pagina que coloques te crea un frame a esa pagina.
que pasara si pones, en esa URL


Codigo



y el link, lo pones en un foro, un navegador incauto, va a verlo y dira, bueno, es del mismo dominio, no puede ser nada malo.. y de resultado tendra un loop infinito.

Ahora, hasta ahi llegan los newbies, pero vamos a evolucionar un poco, ahora, que tal que pones un script que tome tu cookie, y mande un mp a el administrador, o incluso, que borre todos tus post en X foro, todo esto es posible.. y solo necesita un poco de imaginación.
Ahora lo que va.. el robo de cookies, es lo mas basico, y tiene como objetivo robar la cookie.. me diran, y eso de que sirve? tengo el PHPSESSID, y si el usuario ciera sesion no me servira de nada.
tienes razon, pero por ejemplo, con el uso de la libreria cURL un usuario malintencionado, podria al recibir tu cookie, entrar a la pagina, y dejarla en cache, para que el atacante cuando quiera, pueda entrar como tu, sin siquiera necesitar tu password.. esto va cobrando seriedad no?
ahora que mas?
Otro uso comun para estas vulnerabilidades es lograr hacer phishing, o colocar un Xploit..
tu ves la barra de direcciones, y ves que estas en una pagina, pero realmente estas en otra.. metes tu pass, y ya valiste.
Pero lo que me gusta mas, son los sitios de descarga, que colocan en la misma url, el sitio de objetivo.. esas paginas, son vulnerables a ataques XSS indirectos directos xD
osea, puedes colocar una imagen con link al sitio malicioso, y se ejecuta, sin que el usuario lo sepa.
Incluso PODIAS borrar un post en phpBB, o hacerte admin (era posible, no me molesten, claro que si),  con este tipo de vulnerabilidad.
Ahora, vamos al siguiente tipo indirecto.

Mensaje personalizado
Estas, son forsosamente para links, no funciona en imagenes (al menos no he visto ninguna que sirva.) y va en esta forma:
Codigo



esa pagina, es vulnerable a XSS Indirecto.
con esto puedes meter casi lo que sea ahi dentro.
un <script> que te cree otra sesion bajo otro usuario, y tu sesion actual la mande a el atacante (es lo que explicaba de cURL hace un momento), o lo que sea.. aqui hay muy pocas limitantes.
Voy a explicar como puedes modificar TODA la pagina, osea todo su aspecto, con una vunerabilidad como esta.
con este codigo, se borra todo el contenido de la pagina, y escribe otra cosa:
Codigo



muy complicado?
esto tiene muchos usos potenciales..

Directa
Esta es la mas divertida, y es cuando en por ejemplo.. un foro como este puedo meter un tag, y ejecutar un codigo, que pueda hacer casi lo mismo, o lo mismo que el Indirecto de Mensaje.
Funciona localizando puntos debiles en la programación de los filtros, asi que si por ejemplo, logran quitar los <iframe, <script etc.. siempre puedes poner un <div malicioso, o incluso un <u> o <s>, etc.. tags que casi siempre estan permitidos.
Esto pone los pelos de punta a muchos webmasters, afortunadamente, muchos no saben del "lado obscuro" de HTML + IExplorer
colocare una seccion del CheatSheet de RSnake (http://ha.ckers.org/xss.html)
Cita

Codigo



Codigo



Codigo



Codigo



Codigo



Entre muchos otros, les recomiendo, que cuando busquen vulnerabilidades XSS, entren a esa página muy buena recopilación., voy a profundizar en ún tipo de esos ataques.
Codigo



usar Style es increiblemente facil de usar, y muchos filtros son vulnerables.
quien se va a imaginar que puedes meter cosas en este!! pues ya ven.. si puedes
logicamente no vas a meter todo en el espacio que tienes, puedes usar:
Codigo





  AJAXSS
Este es un tipo de XSS no tan conocido, pero peligroso.
se basa en usar cualquier tipo de vulnerabilidad para introducir un objeto XMLHTTP y desde ahi enviar contenido POST, GET, etc.. automaticamente, sin conocimeinto del usuario, un Bug de XSS, usando esta tecnica en MySpace de MSN, permitio que una persona, lograra tener mucha fama (y es que pudo haber hecho cosas malas, afortunadamente solo hizo esto)
El potencial de este tipo de ataque es infinitamente alto, asi que "Be scared", porque parece ser que tiene un futuro prometedor.

El siguiente script obtiene el valor de las cabezeras de autenticacion de un sistema basado en Basic Auth. solo habria que decodificarlo, pero es mas facil mandarlo codificado a tu log de contraseñas, la codificacion es base64.
Codigo



log.php para registrar cookies
Codigo




 Links:

http://www.instisec.com/publico/xss.asp

No hay comentarios:

Publicar un comentario