lunes, 1 de febrero de 2010

Pishing a través de XSS (POC Luis A. Cuadrado)

Bueno como anda muy de moda todo lo que es XSS, y la cantidad de sites vulnerables a ellos, voy a mostrar uno de sus tantos usos de engaño.
Primero que es Pishing, es la forma de engañar a la víctima haciéndole creer que esta en un site de confianza cuando en realidad esta en uno maligno, con el fin de poder robar los datos (nombre, usuario, contraseña, numero de tarjeta de crédito, etc.).
Hay una diferencia con respecto al pishing común a lo que es el Pishing a través de XSS. Ejemplo: supongamos que somos cliente de un bancoX, y su pagina de ingreso es http://bancoX.com/login.php, el atacante podría incentivar a la víctima mediante alguna forma de la ingeniería social que ingrese a su sitio maligno hecho por el, haciéndole creer que esta en el original, donde el sitio maligno es http://sitiomaligno/bancoX/login.php.
Entonces una de las formas de verificar siempre si estamos ante un pishing es mirar la dirección de nuestro browser y asegurarnos que estamos donde quisieramos entrar.
El Pishing con XSS, es mucho mas eficiente, ya que el atacante aprovecha la confianza que tiene el cliente con ese dominio, y mediante la inyección de HTML podemos engañar a la persona pidiendo sus datos, y el usuario podrá mirar la dirección de su browser, y efectiva mente estará posicionado en el site correcto de su confianza.

Para un mejor entendimiento voy a mostrar con un site real, que es el Sitio de Luis A. Cuadrado. Esta empresa es por lejos la mas prestigioso de ventas de insumos de informática en Corrientes Capital y Resistencia Chaco, pero pareciera que no le importa mucho la seguridad de sus clientes.
Lo que me llamo la atención fue este enlace, http://www.luiscuadrado.com/login.php, y fue cuando me decidí hacer este articulo.





Siendo usuario del mismo podemos comprar productos y donde los mismos pueden ser enviados al domicilio.

VERIFICANDO LA FALLA

Bien la falla radica en una variable, $products_id, que lo que hace es tomar un numero hacer una consulta a su base de datos, y luego trae la información de el producto correspondiente. Ahora si al pasar el numero $products_id=1249, además de toda la info de dicho articulo con id=1249, el valor se imprime en pantalla sin pasar por algún filtro, :).

Primer Ejemplo: http://www.luiscuadrado.com/product_info.php?products_id=1249%20%3Cscript%3Ealert%28123%29%3C/script%3E

opps!! XSS!!.

Ahora veamos algo mas lindo, y mas detallado lo que hice fue crear un script en php con un formulario pidiendo Email y Clave, y que los datos se guarden en un archivo de texto, la inyección es mediante un iframe.

Segundo Ejemplo: http://www.luiscuadrado.com/product_info.php?products_id=1249%20%3Ciframe%20src=http://www.google.com%20height=%22300%22%20width=%22800%22%3E%3C/iframe%3E

Google en la pagina de cuadrado! je..

Ahora ahí va algo mucho mejor, que vendría hacer lo que estábamos hablando insertar un formulario pidiendo Email y password..






Vean el formulario de logueo, tranquilamente se puede engañar a la gente pidiendo sus claves para luego obtener el ingreso al sistema. (en este momento no esta el link ya voy a subir los php que cree a un server amigo, para que uds lo vean desde su browser). Los datos quedan guardados en un archivo txt.



El escenario esta preparado, lo único que quedaría es usar la imaginacion para engañar a sus clientes. Y quizás tener algunos insumos de informatica mas!! xD


Prevencion:

Todas las variables mostradas por pantalla deberían ser pasadas por filtro, para no tener este tipo de problema, obviamente que todo depende de la calidad del programador, ya que no solo nos enfrentamos con XSS, sino también CRSF o XSRF, donde el que sale perjudicado es el usuario final.
Recomiendo usar agregados como Noscript para el firefox, y siempre estar atento los posibles mail, sms, mensajes por msn, que nos envien a un sitio donde somos usuarios y pidan nuestros datos por alguna razon X, estar seguro que donde estamos es quien dice ser.!


Mas Documentación

http://itfreekzone.blogspot.com/2009/12/cruzando-informacion-cross-site.html

http://itfreekzone.blogspot.com/2009/12/rompiendo-lo-grande-xss-avanzado.html



Saludos!!

2 comentarios:

  1. Me alegra ver más artículos de XSS. Realmente hay muchísimo para explorar en este tema, y tristemente (?) hay muchos sites donde probar =P

    Gracias por las referencias!
    Saludos.

    ResponderEliminar
  2. Es sorprendente que a estas alturas, algunos negocios no se preocupen que las hagan pishing y no tomen las medidas adecuadas.

    ResponderEliminar