Cómo se roban las contraseñas de los navegadores mediante ataques XSS
16:33, 09.01.2023
Qué es un ataque XSS y cómo se ejecuta
Existe una vulnerabilidad conocida denominada Cross Site Scripting, que permite a un atacante inyectar fragmentos de código HTML y JS malicioso en la estructura de un sitio web. Cuando este código se ejecuta en el ordenador de un usuario, aparece automáticamente una ventana especial con un enlace generado delante. Al hacer clic en ese enlace, el usuario accede a un sitio especial que se parece mucho al original, por lo que la víctima no sospecharía nada. Una vez que la persona ha hecho clic en el enlace, se lanzan scripts que roban información sobre las contraseñas guardadas en su navegador.
Los estafadores pueden utilizar una gran variedad de ataques XSS, pero los más comunes son:
- El XSS reflejado (Reflected XSS) implica la implementación de ciertos trucos de ingeniería social para inducir a las personas a realizar determinadas acciones. En este ataque, se integra un script especial en el hipervínculo para robar cookies.
- El XSS persistente (Persistent XSS) es una variante de ataque persistente que inyecta código malicioso en el servidor. Un sitio comprometido no levantará sospechas en absoluto, pero para llevar a cabo este tipo de ataque será necesario encontrar y explotar una vulnerabilidad en el sitio para inyectar el código malicioso de forma que no pueda ser detectado por el administrador que gestiona el sitio y el servidor. El servidor infectado enviará automáticamente al atacante los datos de los visitantes que se registren voluntariamente en el sitio.
El problema consiste en que la implementación de un ataque XSS no requiere conocimientos profundos de hacking e ingeniería social, por lo que esta variante de hacking es bastante peligrosa. Precisamente por su escasa visibilidad. Sin embargo, es relativamente fácil defenderse de ella. A continuación ofreceremos orientación tanto a los propietarios de sitios web como a los usuarios que deseen protegerse de este tipo de filtraciones.
Qué deben hacer los usuarios para evitar ser víctimas de un ataque XSS
En primer lugar, nunca guarde contraseñas importantes en su navegador. Por supuesto, no es muy cómodo introducir manualmente su nombre de usuario y contraseña cada vez, pero es importante si quiere mantenerse a salvo de intrusos. Guarde en su navegador sólo las contraseñas de aquellos sitios y cuentas que, aunque sean pirateados, no le perjudicarán en modo alguno. Pero los datos de sistemas de pago, bancos y cuentas de redes sociales deben almacenarse por separado.
Además, debe tener cuidado al visitar sitios web: si observa alguna actividad sospechosa en el sitio web en forma de ventanas emergentes intrusivas, absténgase de hacer clic en el enlace proporcionado.
Qué deben hacer los propietarios de sitios web para protegerse de los ataques XSS
Lo primero que hay que hacer es activar la cabecera X-XSS-Protection, necesaria para filtrar el cross-site scripting. Una vez activada, impedirá que se ejecute la etiqueta <script> en la URL de la página.
Para activar el filtrado XSS, abra el archivo .htaccess en modo de edición y añada las siguientes líneas:
<ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" </IfModule>
Esto funciona para el servidor web Apache. Si tiene Nginx, abra el archivo nginx.conf y añada lo siguiente a la sección HTTP:
add_header X-XSS-Protection "1; mode=block";
También es posible que al alquilar un VPS, el usuario no tenga acceso a los archivos de configuración. En este caso puede utilizar la función PHP:
<?php header("X-XSS-Protection: 1; mode=block"); ?>
También puede pedir a su proveedor de alojamiento que realice los cambios necesarios en la configuración. En cualquier caso, hay muchas opciones para activar el filtrado XSS.
Consejos para protegerse de los ataques XSS
Por último, he aquí algunos consejos básicos que también le serán útiles:
- Compruebe su sitio web al menos una vez al mes en busca de vulnerabilidades, y arréglelas si es posible. Es fundamental garantizar que toda la información que llega al servidor desde el exterior se gestiona de forma correcta y segura.
- Si el sitio está autoescrito, asegúrese de utilizar la conversión de caracteres de software y el escape de comillas simples en el código JS.
- Actualice regularmente el software del sitio web, especialmente el CMS y todos los plug-ins instalados. Las actualizaciones no tienen tanto que ver con nuevas funciones como con la seguridad. Muy a menudo, los desarrolladores encuentran algunas vulnerabilidades críticas y las corrigen con prontitud. Es mejor, si es posible, activar las actualizaciones automáticas del servidor.
- Utiliza un cortafuegos, se puede activar mediante plugins especiales.
- Proteja su sitio y los datos de los usuarios con el cifrado de datos SSL.
- Tenga cuidado al configurar su política de seguridad de contenidos. Este fragmento de código sirve para diferenciar el contenido en grupos con distintos permisos.
Si aún tiene preguntas, póngase en contacto con HostZealot. Nuestro personal puede ayudarle a resolver los problemas de seguridad de su sitio web y de sus datos en el servidor.