Backup Oficial de SeguridadBlanca.Org

miércoles, 3 de junio de 2009

Pen-Test Ataques contra formularios de Búsqueda por Cross Site Scripting [Xss]

Cross Site Scripting (XSS) es uno de los ataques de moda. Consiste, explicado brevemente, en introducir dentro de los parámetros de una página web un script para que lo ejecute el usuario al cargar la página. Aunque la explicación sea muy "chocante", el ataque es realmente trivial. Vamos a ver a continuación un ejemplo que lo deja mucho más claro:

Inicialmente, tenemos esta página de búsqueda:
http://buscar.org/search?q=

Se trata del típico formulario de búsqueda web, sin nada de especial. Sin embargo, podemos poner como nuestro script a buscar el siguiente:

%22%3E%3Cscript%3Ealert(%22XSS%22)%3C%2Fscript%3E

Si os fíjáis, en el parámetro donde se le pasa el string a buscar le hemos metido una alerta en javascript, precedida de un terminador para la query, codificando todos los "mayor que", etc en hexadecimal.

Es decir, al cargar la página web desde el link modificado por el hacker estamos, de paso, ejecutando el script en nuestra máquina. En este caso nos sale una alerta, pero podríamos estar enviando nuestra cookie de sesión a un servidor remoto sin enterarnos ...

En este caso, el script lo hemos metido dentro del parámetro de una búsqueda, pero también podríamos intentar introducirlo dentro de un mensaje de un foro, en una supuesta imágen que subimos como nuestro avatar, cualquir parámetro de una URL, ...

Y si en lugar de haber encontrado una página de búsqueda vulnerable a XSS, que no tiene mucho interés, fuera, digamos, un banco, podríamos enviar un mail con un link al banco y nuestro propio código insertado en la URL, de forma que el cliente, al pinchar en el link, nos reenviase sin saberlo la cookie de la sesión y pudiéramos transferirnos el dinero de su cuenta (phising).

Debido a su sencillez, XSS es uno de los ataques de moda hoy en día. Un ejemplo más de porqué hay que validar bien todos los parámetros de entrada.

Tengan Cuidado y no se Olviden de Filtrar Bien Caracteres y usar bien filtros básicos como los htmlentities o Strip_Tags, no se olviden, piensen como el que ataca...


Saludos
Dr.White
Fuente: hacking-avanzado

No hay comentarios:

Publicar un comentario