CONFRONTACIÓN DE IDEAS, EL MEJOR INSTRUMENTO DE LA LIBERTAD Y LA DEMOCRACIA: CÉSAR CAMACHO
Enviado por bergman1 • 24 de Julio de 2014 • 937 Palabras (4 Páginas) • 361 Visitas
Vulnerabilidades XSS en páginas web
Escrito por J.F. el Tuesday, 18 de September del 2007 a las 18:06
XSS proviene del inglés "Cross Site Scripting" y se denomina a la inyección de código HTML incrustado. Éste tipo de vulnerabilidades puede encontrarse en todo tipo de aplicaciones web, no ocurre como con la Inyección SQL que era necesario interactuar con la base de datos. Éste tipo de vulnerabilidades proviene de una validación incorrecta de los datos, y puede tener 2 tipos de orìgenes como veremos más adelante. Procedamos pues a definir de la forma más clara posible XSS, ya que puede resultar algo lioso, e iremos explicando un ejemplo.
Las vulnerabilidades XSS no afectan al servidor que las contiene, si no a los usuarios de ese servidor, que pueden ver como información privada(sesión) puede llegar a manos poco deseadas. Expliquemos con un ejemplo un tipo de vulnerabilidad XSS.
Imagina que eres usuario y asiduo visitante a un foro, y a la hora de escribir posts el desarrollador de ese foro no controló de la forma correcta el uso de etiquetas HTML que un usuario podà a utilizar a la hora de enviar un mensaje. Ahà es donde se puede explotar una vulnerabilidad XSS. Un usuario puede enviar un mensaje a dicho foro, en el cual puede incluir una URL en la que inyectar código Javascript, de tal forma que podrà a obtener toda la información de una cookie de cada usuario logueado que pinchara en dicha URL. Ahora es cuando se aprecia por qué el servidor no es atacado, si no los usuarios. Normalmente éste tipo de ataques se culmina enviando la cookie de la và ctima a otro servidor de la persona que envà o el enlace con el ataque XSS, donde podrá ir almacenando en un archivo de texto por ejemplo toda la información obtenida, y proceder a suplantar la identidad de las personas de las cookies robadas. Pero, ¿Como podrà an obtener usuario y contraseña? Realmente no es posible, lo que si puede llegar a resultar sumamente fácil es utilizar los datos de esa cookie y almacenarla en caché para poder acceder posteriormente a foros, webs, etc. Por ejemplo, hace unos meses fué detectada una vulnerabilidad XSS, en la que pinchando en una URL que te enviaban a tu correo de Hotmail, se podà a obtener la cookie(procedimiento similar al explicado más adelante). Una vez obtenida la cookie de hotmail, simplemente disponiendo del navegador Mozilla Firefox y la extensión WebDeveloper, podà an acceder a la bandeja de entrada del correo. Simplemente abrà an su propio correo de Hotmail, le daban a editar cookie(opción que ofrece WebDeveloper), cambiaban los datos por los obtenidos de la và ctima y ¡Bingo! Refrescando la página habà an robado la sesión y se encontraban en la bandeja de entrada de la và ctima. Gracias a Dios el bug apenas duró 2 dà as, y rapidamente fué parcheado, pero millones de usuarios tuvieron en peligro su cuenta de Hotmail, y muchos quizás no se hayan enterado.
¿Como obtener una cookie gracias a Javascript? Es muy simple, tan sólo copia y pega el siguiente código en la barra de direcciones de tu navegador, estando por ejemplo logueado a Gmail, o cualquier foro, y podrás ver en forma de alerts toda la información de la Cookie:
TEXTO PLANO
JavaScript:
1. javascript:for(var g in document.cookie.split(';'))void(prompt("Valor de cookie "+document.cookie.split(';')[g].split('=')[0],document.cookie.split(';')[g].split('=')[1]));alert("Cookies:\n"+document.cookie.replace(/;/,"\r\n"));
...