BreakPoint Posted May 26, 2012 Share Posted May 26, 2012 Hoy voy a explicar brevemente en qué consiste el CVE-2012-0053. Esta vulnerabilidad, descubierta por This is the hidden content, please Sign In or Sign Up permite poder robar aquellas cookies que tienen el flag httpOnly. ¿Qué es "httpOnly"? Es una medida de seguridad extra que impide a los lenguajes que corren desde el lado del cliente poder trabajar con una cookie, es decir, evita poder leer / escribir sobre esa cookie. Esto tiene implicaciones claras a la hora de preservar la integridad de esa cookie, bloqueando de esta forma la captura por el método clásico de un XSS. Ahora bien, ¿si no podemos hacer que un script acceda a la cookie, como podremos robarla?. Hete aquí la idea: hecha la ley, hecha la trampa. Si no podemos acceder a la cookie, tendremos que hacer que el contenido de la cookie sea devuelto en alguna parte donde sí podamos acceder a ella. Esta triquiñuela ya la hizo Jeremiah Grossman en su paper sobre XST (XSS + método TRACE, un must read para todos los que siempre envían algún mensaje tipo "kiero juankear la web d mi vcino y le e pasao n escaner y me dic k tiene habilitado TRACE ke es eso"). En este caso la idea es que el contenido de la cookie sea devuelto dentro del cuerpo del documento, donde podremos acceder fácilmente con un script. Para lograr este fin Hipper recurre a provocar un error 400 (Bad Request) en el servidor, ya que en el mensaje de error se muestran los parámetros enviados, y entre ellos encontraremos la cookie. Para poder generar dicho error simplemente podemos enviar una cabecera HTTP con una cookie de un tamaño que sobrepase el límite: This is the hidden content, please Sign In or Sign Up Y el servidor vulnerable (recordemos que se trata de las versiones de apache 2.2.0 - 2.2.21 ) nos soltará un error 400, porque hemos excedido el límite de tamaño, donde encontraremos nuestra ansiada cookie This is the hidden content, please Sign In or Sign Up Para poder robar una cookie en un servidor vulnerable a XSS y a esta técnica, lo que tendremos que hacer es utilizar XMLHttpRequest para adherir la cookie gigante a la cookie original, y de esta forma provocar el error. El resto sería símplemente leer lo que deseamos del documento HTML. Creditos: The X-C3LL Fuente: CPH Link to comment Share on other sites More sharing options...
Recommended Posts