mercadolibre2

MercadoLibre corrige múltiples vulnerabilidades críticas

Hola lectoras, mi nombre es Fabián Cuchietti soy un  joven Ingeniero en Seguridad Informática, que ayuda a  grandes empresas a identificar y corregir las vulnerabilidades encontradas. En mis tiempos libres, escribo en Python y busco vulnerabilidades en programas de recompensas.

En esta oportunidad quiero hacer una divulgación responsable* de vulnerabilidades en MercadoLibre. Recientemente, identifiqué una forma de entrada maliciosa que evita el xss_filter(), lo que permite insertar JavaScript arbitrario para ser ejecutado. Las vulnerabilidades mencionadas han sido parcheadas  por MercadoLibre.

*Divulgar responsablemente una vulnerabilidad significa que las vulnerabilidades han sido informadas y corregidas de forma previa a su publicación

Todo es vulnerable, no existen los sistemas perfectos. Pongo un ejemplo torpe, pero que sirva para olfatear un poco de qué se trata. Imaginate una casa que te resulta muy atractiva. Pasás durante algunos meses, y ves que la casa tiene la puerta abierta, que nadie la cierra, pero tampoco nadie entra. Un día decidís entrar, y disfrutás de la casa. Abrís la heladera, comés lo que hay, mirás la televisión, te refugiás si hay mal clima. Esta es una analogía con hackear un servidor: al atacar un servidor, lo hacemos con el objetivo de aprovechar el servidor o cosas que tiene dentro.

Continuando la analogía, imaginate ahora, que en lugar de servirte de la casa y sus comodidades, lo que pretendés es utilizarla como punto estratégico para investigar la casa de enfrente, a la gente que pasa, para servirte de la casa como un cubil que te permite controlar lo que sucede fuera de ella. Éso es XSS. Un ataque dirigido a las demás, pero individual mente, es un ataque para cada persona que pase por la casa, no a la casa. Desde adentro de la casa no podés atacar a una multitud, podés atacar a Pepa, Juana, Roberta, etc.

¿Que es Cross-site Scripting?: mercadolibre

Cross-site Scripting, más conocido como XSS, permite a una atacante ejecutar un script dinámico (JavaScript, VBScript) en el contexto de una aplicación. Esto permite varias posibilidades de ataque diferentes, en su mayoría secuestro de la sesión actual de la usuaria o infectar mediante XSS worm, o ataque de Phishing. Esto sucede porque la entrada introducida por una usuaria se ha interpretado como HTML y JavaScript por el navegador.

El ataque XSS se dirige a las usuarias de la aplicación en lugar del servidor, es decir: el objetivo es vulnerarte a vos. Se trata de una limitación, ya que permite a las atacantes secuestrar la sesión de otra usuaria. Normalmente la atacante  ataca a una administradora para obtener el control total sobre la aplicación web.

Miralo en funcionamiento

Prueba de Concepto

Una prueba de concepto es una suerte de “muestra” que tiene por objetivo probar el funcionamiento de una idea. En este caso, la prueba de concepto es sobre MercadoLibre.

Vulnerabilidad #1 Cross-site Scripting Persistente (CRITICO)
1) Ir a https://myaccount.mercadolibre.com.ar/profile
2) Editar dirección
3) En el área de texto “Calle:” insertamos el siguiente vector* ( “><img src=x onerror=prompt(document.cookie);> )
3) Guardamos, y el XSS se ejecuta éxitosamente.

*En programación, un vector indica un lugar, una posición. Se utiliza este concepto pus “vector” significa “conducir”.

Vulnerabilidad #2 Cross-site Scripting Persistente (CRITICO)

1) Iniciamos sesión
2) Ir a  “Mi cuenta”
3) Configuración > eShop
4) Seleccionamos un diseño y continuar
5) Insertamos un vector de ataque en la Descripción: “><img src=x onerror=prompt(domain);>
6) Clic en Previsualizar tu eShop.

23_phixr

Vulnerabilidad #3 Cross-site Scripting (self-xss)

1) Iniciar sesión con su cuenta en MercadoLibre
2) Ir a la sección vender > elegir un artículo > etc, etc.
3) En descripción del artículo seleccionamos “HTML”
4) Insertamos el siguiente vector:  “><A onmouseover=”alert(domain)” href=””>Clic aquí</A>” actualizamos y pasamos el mouse sobre el texto “clic aquí”

13_phixr1

Más información:
Me gustaría dar las gracias a Santiago Kantorowicz por el manejo de este tema. En especial me gustaría aplaudir por la rapidez con la que se manejaron después de mi informe inicial.

image/svg+xmlTribuna Hacker existe gracias a

1 comment

  1. Muy bueno el reporte, exactamente hace una semana estuve dispuesto a buscar un poco sobre el historial que ya tenia el sitio y me tope con tu vídeo de youtube, llegue aquí gracias al enlace que me colocaste como respuesta… excelente articulo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *