XSS Hacking. XSS en un dominio, conseguir cookie de subdominio

Iniciado por buscador-tecnologico, 20 Diciembre 2011, 14:40 PM

0 Miembros y 3 Visitantes están viendo este tema.

buscador-tecnologico

Hola a todos, tengo una duda. Si tengo un dominio www.ejemplo.com vulnerable a XSS y en usuarios.ejemplo.com se logean los usuarios. Como puedo hacer para conseguir la cookie de usuarios.ejemplo.com desde www.ejemplo.com? ¿Hay alguna forma?


Un saludo.

http://foro.elhacker.net/hacking_avanzado/xss_xss_en_un_dominio_conseguir_cookie_de_subdominio-t348052.0.html#ixzz1h5NLsx4J


bye

adastra

Si tienes una aplicación que es vulnerable a XXS, perfectamente puedes inyectar código javascript que obtenga dicha cookie y posteriormente enviar la petición a un servidor web con PHP para que almacene dicha cookie (esto último es opcional)

ver el ejemplo 23 de esta publicación:

http://thehackerway.com/2011/05/23/explotando-vulnerabilidades-xss-en-aplicaciones-web/


buscador-tecnologico

hola adastra, me parece que no has leido muy bien mi mensaje.

Ya se que se pueden robar cookies, pero tengo un bug de XSS en www.ejemplo.com quiero saber si se puede conseguir la cookie de un subdominio de ese dominio, por ejemplo: usuarios.ejemplo.com


adastra

Si tienes una vulnerabilidad XSS, es posible obtener TODAS las cookies que se encuentran almacenadas en el navegador de la víctima.
Así que la respuesta es: Si, si se puede.

buscador-tecnologico

#4
Hola, me parece que lo que dices CREO que no es cierto eh.....

Si esto es cierto,porfavor, dime como, porque document.cookie solo devuelve la cookie del dominio actual.

Si tienes un XSS en hotmail.com, no puedes obtenre una cookie de facebook.com.

¿Me equivoco?

Saludos.

madpitbull_99

@buscador-tecnologico:

Exacto, sólo se pueden obtener las cookies del dominio en el que se encuentra la aplicación vulnerable a XSS.

Por ejemplo, si en usuarios.dominio.com hay un XSS, sólo podrás obtener las cookies de la víctima para ese subdominio.





«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

adastra

Cita de: buscador-tecnologico en 21 Diciembre 2011, 23:05 PM
Hola, me parece que lo que dices CREO que no es cierto eh.....

Si esto es cierto,porfavor, dime como, porque document.cookie solo devuelve la cookie del dominio actual.

Si tienes un XSS en hotmail.com, no puedes obtenre una cookie de facebook.com.

¿Me equivoco?

Saludos.

A lo mejor es cierto que no he comprendido correctamente tu mensaje, por que sigo sin entender el problema...  :laugh: :laugh:

Si tienes una vulnerabilidad XSS, puedes acceder a la información que se encuentra almacenada en el navegador de la víctima (incluyendo todas las cookies) utilizando javascript, por ejemplo:


function getCookies(){
  var par = document.cookie.split(";");
  var cookies = {};
  for (var i=0; i<par.length; i++){
    var par = par[i].split("=");
    cookies[pair[0]] = unescape(par[1]);
  }
  return cookies;
}


Con el snip anterior puedes obtener las cookies almacenadas en el navegador, (todas las que se encuentren almacenadas sin importar el dominio/subdominio al que pertenezcan) de hecho, existe tambien una pequeña libreria que te permite hacer esto mismo llamada jsCookie:
http://codecanyon.net/item/jscookie-easy-to-use-javascript-cookie-library/308627

Como podras ver en las funciones disponibles, es posible obtener todas las claves y todos los valores de cada una de las cookies existentes en el navegador.
Así que si no se si es a eso a lo que te refieres, pero no estas limitado a obtener las cookies de un solo subdominio. Una vez que un cliente es víctima de una vulnerabilidad XSS, es posible acceder a practicamente cualquier cosa que se encuentre almacenada en el navegador. Así que en ese punto, creo que estas equivocado.  :)

Finalmente, dado que estas trabajando con XSS, mi recomendación para que puedas ver hasta que punto puedes llegar en la explotación de estas vulnerabilidades es utilizar Beef y XSSF (Plugin de MetaSploit) los cuales te permitirán acceder no solamente a las cookies, sino tambien, ejecutar comandos por medio del navegador y utilizar a cada víctima como "zoombie" creando un túnel para acceder a la aplicación vulnerable utilizando la identidad del cliente. En fin, este tipo de vulnerabilidades en dan mucho juego, tambien te recomiendo acceder a las utilidades que dispone el proyecto OWASP...

Saludos.

buscador-tecnologico

#7
Hola.


madpitbull_99, como he dicho en el mensaje, si hay un XSS en dominio.com, no puedo entonces acceder a las cookies de ese subdominio? Ni modificando document.domain con javascript (no se si es posible ) ni nada similar??


adastra.

Estas bastante equivocado (sin ánimo de ofender), lo que dices no tiene sentido. Si es asi lo que tu comentas, no tendria importancia un XSS en facebook.com por ejemplo, porque con un XSS en web1.com (por ejemplo) conseguiriamos la cookie del cliente de facebook.com, tuenti.com, etc....  madpitbull_99 tambien lo comentó en el mensaje de arriba.


***El acceso a las cookies está restringido al dominio desde las que fueron creadas y están limitadas en cuanto al tamaño a 4 Kb o 20 pares nombre valor (20 datos).

Fuente: http://javascript.espaciolatino.com/dhtml/document/props/cookie.htm


Miratelo, creo que no tienes claro el tema de las cookies.


El script que publicas, utiliza la función document.cookie() de javascript, y solo podrá recoger el valor de la/las cookie/s del dominio actual. (no estoy seguro si de los subdominios tambien).




Saludos.

adastra

Rectifico lo dicho y te doy la razón a ti y a madpitbull_99, desde javascript solamente se pueden obtener las cookies de un dominio determinado ya que el objeto "document" solamente obtiene información de la "página" desde donde se invoca... Me he equivocado  :P

int_0x40

Hay formas mediante las cuales una vulnerabilidad XSS en el contexto de un subdominio pude ser aprovechada para  bypassear la regla de 'same origin policy' y tener impacto fuera de éste, por mencionar dos: CSRF ("Buy one XSS, get a CSRF for free") e iframes que utilicen el método readViewPort() (¿Para qué conformarse con robar cookies si podemos registrar pulsaciones del teclado, mantener infectado el browser o atacar la intranet?).

Saludos.
"The girl i love...she got long black wavy hair "