miércoles, 3 de agosto de 2011

SMF 2.0: Token Hijacking

Saludos,


El otro día enredando y tratando de auditar cierto foro me encontré con este pequeña vulnerabilidad, que pudiera pasar por insignificante pero que sirve de llave para ejecutar un CSRF.

En primer lugar: ¿qué diablos es un token de sesión? Podemos entender como un token, en este contexto, como una cadena identificadora, generada en el momento de iniciar nuestra sesión, que permite autenticar nuestra acciones dentro de nuestra sesión como nuestras. De esta forma se evitan los ataques CSRF, puesto que si por ejemplo para realizar un logout es requerido el token (P.E.: http://webfalsa.com/index?action=logout;[aquí el token] ) a menos que el atacante lo conozca de antemano no podrá llevar a cabo el CSRF para desloguearlo.


Es por ello que cuando nos encontramos con la posibilidad de ejercer un robo de tokens nos estamos saltando esa restricción. En este caso concreto, el del sistema de foros SMF 2.0, el problema subyace en que el token es enviado por una petición HTTP de tipo GET, por lo que como ya escribí en su momento, se puede interceptar usando como sniffer un archivo .php en nuestro servidor (como se puede observar en el enlace.


Ahora bien, ¿donde se nos expone el token como para poder interceptarlo?. En el centro de moderación, cuando navegamos a través de él (viendo los logs, o cualquier otra cosa que atañe a los moderadores, y superiores, únicamente) y volvemos al apartado principal del centro de moderación, podemos observar en la url lo siguiente:

/index.php?action=moderate;area=index;e2971bcc=2fddd45d00d9d9482005af0737680afd

Siendo lo que está en negrita el token. En ese mismo sitio encontramos un apartado tipo tagboard ("Notas de moderación") en el cual podemos insertar BBCode, y entre las etiquetas permitidas se cuentra la recurrente [img].

Así pues, podremos capturar los token de sesión de los otros moderadores, gmods y administradores, y poder desarrollar a posteriori ataques tipo CSRF.
5 0verl0ad Labs: SMF 2.0: Token Hijacking Saludos, El otro día enredando y tratando de auditar cierto foro me encontré con este pequeña vulnerabilidad, que pudiera pasar por ins...
< >