Cómo proteger tu tienda online contra ataques XSS (Cross-site scripting)

XSS
Compartir:

La seguridad es vital para todos los sitios e-commerce. Una violación de los datos de pago de los clientes o de la información personal podría resultar fatal para una empresa. Uno de los riesgos comunes que corren los comercios electrónicos son los ataques XSS.

Cualquier sitio que use formularios, búsqueda o incluso un backend administrativo es vulnerable.

Hay muchas formas de ataques XSS. Ocurren cuando un atacante agrega código a una página web, y el código se ejecuta en el navegador de un usuario desprevenido, causando daño. El 99% de las veces este código es JavaScript.

Una página web es vulnerable a un ataque XSS cuando no se elimina la entrada del usuario correctamente. Por ejemplo, si un formulario de comentarios permite que alguien agregue HTML, un atacante podría publicar un comentario que incluya el código de ataque.

La forma más común de hacerlo es agregar un enlace fuente de JavaScript utilizando la etiqueta de script. Esto hará que el navegador descargue y ejecute JavaScript, lo que podría robar los datos del usuario.

Objetivos de los ataques XSS

Los datos de autenticación, como el nombre de usuario, contraseña o token, son un objetivo común. Si un atacante puede robarlos, puede iniciar sesión como usuario con pleno acceso a la cuenta del usuario.

El atacante podría, por ejemplo, cambiar la dirección de envío de un pedido o usar una tarjeta del archivo para realizar pedidos fraudulentos. Una vez que el atacante inicia sesión, es muy difícil distinguir entre el usuario legítimo y el atacante.

Una forma de detectarlo es rastrear la ubicación habitual de un usuario y compararla con la del atacante. Si el usuario inicia sesión en Madrid y repentinamente hay muchos inicios de sesión desde otra ciudad o país, puede ser una señal de que la cuenta ha sido pirateada.

Los ataques XSS que roban los datos de autenticación de un administrador son aún más críticos. Con el acceso administrativo, un atacante podría, por ejemplo, crear cientos de pedidos fraudulentos, cambiar cómo se enrutan los recibos de pago o eliminar cada dato de tu tienda.

Este es el peor de los casos. También es una razón para tener buenas medidas de seguridad para las cuentas de administrador.

Tu tienda recopila otros datos, como la dirección y la información de pedido. Puede que estos datos no sean tan importantes como los datos de pago o los de inicio de sesión, pero si se infringen, podrían causar un serio problema al servicio de atención al cliente. Esto es especialmente cierto en el caso de que el cliente sea una celebridad. Revelar la dirección de su casa o los productos que compró podría crear escándalo.

Previniendo los ataques XSS

La prevención de ataques XSS no es fácil. Todas las formas de entrada del usuario pueden ser un riesgo de seguridad. Con el aumento del contenido generado por los usuarios, la web es mucho más interactiva. Por lo tanto, los ataques XSS son bastante comunes.

Una buena forma de prevenir ataques XSS es limpiar todos los datos ingresados ​​por un usuario. Esto se llama «input sanitizing» (limpieza de textos de entrada). Elimina o vuelve inofensivo cualquier HTML o JavaScript de un usuario. Muchas bibliotecas de códigos y plataformas de comercio electrónico hacen esto de forma predeterminada.

El problema es que la limpieza de textos de entrada limita lo que puede ingresar un usuario legítimo. Podría, por ejemplo, restringir a un usuario rechazar ciertas palabras en un comentario de blog o vincular a otra página.

Permitir sólo unas pocas etiquetas aparentemente seguras podría ser arriesgado. Incluso las etiquetas que no son de JavaScript, como un enlace o una imagen, pueden desencadenar un XSS cuidadosamente diseñado.

Muchos ataques XSS intentarán robar las cookies de autenticación de un usuario. Hay una protección simple llamada «HttpOnly» que evita que JavaScript acceda a las cookies. Es una opción en la cookie que debe establecerse. También bloqueará tu propio JavaScript para usarlo, pero es una manera simple de agregar otra capa de protección.

¿Qué sitios son vulnerables?

Pueden ser atacados la mayoría de los sitios web e-commerce. No importa si tu plataforma se está ejecutando en código abierto, en un servidor de hosting o en un software comprado.

Los sistemas de código abierto generalmente son rápidos en reparar un XSS o cualquier otro problema de seguridad. Muchos lanzarán rápidamente una nueva versión. Minimiza el riesgo manteniendo tus sistemas actualizados.

Las plataformas hospedadas en servidores de hosting también abordan los problemas de XSS con rapidez. Muchas veces los vendedores no saben que se ha solucionado un problema de seguridad ya que sus sitios web se actualizaron automáticamente.

Una desventaja de las plataformas alojadas es que el mismo software generalmente alimenta varias tiendas. Por lo tanto, un atacante podría descubrir el acceso a una tienda y luego atacar a cualquier otro sitio de la plataforma.

La vulnerabilidad XSS también se aplica a complementos, aplicaciones y sistemas de terceros. Si estás utilizando una aplicación popular, probablemente se actualizará y te asegurarás rápidamente en caso de que ocurra un ataque XSS.

Por último, si tu tienda online usa un código personalizado, todo esto recaerá sobre tu equipo y sobre ti. Existen muchas prácticas comunes para que los desarrolladores auditen su código y lo protejan. Incluso así, podrías tener que pelear de vez en cuando.

 

Si tienes dudas sobre la seguridad de tu sitio web, no dudes en contactar con nosotros y te ayudaremos.

Contáctanos

Fuente: PracticalEcommerce

Compartir:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies