Tutoriales y Manuales
Entradas Mensuales
-
►
2024
(Total:
1090
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
▼
2021
(Total:
730
)
-
▼
septiembre
(Total:
56
)
- Caduca un certificado raíz SSL que afectará dispos...
- Presentan teléfono móvil: Fairphone 4 con 5 años d...
- Astro: el robot asistente de Amazon: seguridad dom...
- Activar el Modo Dios en Windows 10
- XSS o Cross‑Site Scripting: tipos de ataque y prev...
- Herramientas SysInternals para administrar y monit...
- Significado pitidos placas bases Asus, GigaByte, A...
- Mozilla y Apple en contra que Google implemente un...
- Europa obligará a utilizar cargador estándar USB-C...
- Vulnerabilidad protocolo AutoDiscover de Microsoff...
- Filtración masiva datos privados de agencia inmobi...
- 11 graves vulnerabilidades en software Nagios
- Tipos de Phishing y trucos para detectarlo
- Ministerio de Defensa de Lituania aconseja a sus c...
- SOVA es un nuevo y sofisticado troyano bancario pa...
- Google restablecerá automáticamente los permisos d...
- Fallece a los 81 años, Clive Sinclair, creador de ...
- Detenidos 106 miembros de la mafia italiana en Ten...
- Elegir cable de red: categorías y velocidades
- Microsoft lanza para todos el inicio de sesión sin...
- El administrador sitio web para realizar ataques D...
- Turnos de vacunación: la nueva estafa para robarte...
- OMIGOD es una grave vulnerabilidad en máquinas vir...
- Disponible herramienta gratuita descifrado víctima...
- Apple presenta los nuevos iPhone 13
- Facebook admite en documentos internos que Instagr...
- Vulnerabilidad HP OMEN Gaming Hub afecta a millone...
- Disponible nueva versión de Kali Linux 2021.3
- Actualizaciones de seguridad importantes de Micros...
- Vulnerabilidad en Ghostscript explotada a través d...
- Programa secreto de Facebook permite a usuarios VI...
- WhatsApp finalmente permitirá cifrar copias de seg...
- Apple soluciona vulnerabilidad en iMessage permití...
- Red informática de las Naciones Unidas fue hackeada
- Ataques Denegación Servicio DDoS y DrDDoS: herrami...
- Digi España ofrece un servicio de fibra de 10 Gbps...
- El 64% del tráfico de Internet procede de bots, y ...
- Borrador OWASP Top 10 2021
- C1b3rWall Academy 2021: completo curso online grat...
- Nueva botnet Mēris realiza ataque DDoS récord al p...
- Justicia Estados Unidos condena 4 años vendedor ca...
- Expuestas credenciales de 500 mil cuentas VPN comp...
- Ofrecen hasta 1 millón de dólares a cambio de infe...
- Un anuncio de Microsoft Teams bloquea y ralentiza ...
- El aumento de ransomware se ha multiplicado por 10...
- Nueva y grave vulnerabilidad en documentos Office ...
- ProtonMail comparte la dirección IP de un activist...
- Alemania quiere 7 años de actualizaciones de segur...
- Filtrado código fuente del ransomware Babuk
- Google pagará Apple 15.000 millones dólares por se...
- Millones de dispositivos Bluetooth en riesgo por f...
- Irlanda multa a WhatsApp con 225 millones de euros...
- Cable malicioso de carga Lightning de Apple permie...
- Consiguen ocultar malware en la VRAM de las tarjet...
- Vulnerabilidad ProxyToken en Microsoft Exchange p...
- Empresa de reparto con drones alcanza las 100 mil ...
-
▼
septiembre
(Total:
56
)
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
En la Operación Torpedo el FBI utilizó Metasploit Framework , un software totalmente libre construido originalmente sobre lenguaje Perl y p...
-
Recientemente, 2K Games ha sufrido un ataque dentro de su plataforma de soporte técnico. Dicha plataforma, fue hackeada y utilizada para...
XSS o Cross‑Site Scripting: tipos de ataque y prevención
Permite a los atacantes implantar scripts maliciosos en un sitio web legítimo (también víctima del atacante) para ejecutar un script en el navegador de un usuario desprevenido que visita dicho sitio y afectarlo, ya sea robando credenciales, redirigiendo al usuario a otro sitio malicioso, o para realizar defacement en un sitio web.
En la actualidad, OWASP explica que son tres las formas de ataques de XSS más comunes que apuntan a los navegadores de los usuarios. Por eso, en este artículo actualizado repasamos cuáles son los vectores de ataque utilizados por los atacantes para explotar esta vulnerabilidad, qué puede realizar un atacante mediante Cross Site Scripting, y compartimos también algunos recursos que probablemente no conocías para identificar la vulnerabilidad o la explotación de la misma. Para tener una idea del impacto y el interés que los atacantes mantienen por esta vulnerabilidad, el último año más de 100.000 reportes de ataques de Cross Site Scripting según Vulners.
XSS (Cross Site Scripting) es una vulnerabilidad que permite a un atacante insertar scripts o secuencias de código malicioso en el navegador web de un usuario. El ataque se produce en el código del sitio web que se ejecuta en el navegador, y no en el servidor del sitio.
Los ataques de tipo XSS pueden tener diversas consecuencias para los usuarios, entre ellas:
- Recopilación de datos personales
- Robo de credenciales (usuarios y contraseñas)
- Robo de cookies
- Redireccionamiento a sitios maliciosos
- Acceso al control del equipo de la víctima
- Cambio de la apariencia visual del sitio
Existen tres tipos de XSS qué permiten que se lleve a cabo este ataque. A continuación, repasamos cuáles son y las medidas que deberíamos tomar para poder protegernos:
XSS indirecto o reflejado
Reflected Cross-Site Scripting
En un ataque de XSS reflejado el payload suele ser inyectado en un parámetro de la solicitud HTTP, para luego ser procesado por la aplicación web y finalmente desplegado en un punto determinado, sin algún tipo de validación o codificación de los caracteres. Se trata de la variedad de XSS más simple y el script malicioso que busca afectar el navegador de la víctima es fácilmente modificable, probablemente sin que el usuario note el ataque.
Como se puede observar en el siguiente ejemplo, se crea un enlace de apariencia normal sin un parámetro marcado y se observa un vector de ataque delimitado por el control del número de página del sitio.
https://insecure-site.example/blog/page/1/latest
El punto vulnerable en este caso es un parámetro que no es detectable a simple vista, pero alguna aplicación podría estar utilizando el valor proveniente de la URL para poder utilizarlo en el sitio, y así dar origen a la vulnerabilidad Reflected Cross-Site Scripting.
XSS directo o persistente o almacenado
Stored Cross-Site Scripting
Esta variante tiene como característica que la aplicación web guarda el valor de entrada en un medio de almacenamiento y persiste el script inofensivo, hasta que el valor es recuperado por la aplicación y utilizado para conformar parte del documento HTML.
Los puntos de entrada más conocidos en los cuales se suele observar esta vulnerabilidad están en los comentarios de sitios web, entradas de blog, nombres de usuario, chats, formularios de contacto, detalle de alguna orden, etc. Y así como existen diversos valores de entrada, un XSS persistente podría llegar de distintos medios. La respuesta del protocolo HTTP es el más común, así como mensajes mediante SMTP, servicios de mensajería instantánea, notificaciones vía socket, por mencionar algunos.
XSS basado en DOM
DOM-based Cross-Site Scripting
El Document Object Model (DOM) es una interfaz de programación para representar la estructura de un documento web y conectarlo con un lenguaje de scripting. En este sentido, el DOM facilita la estructura de documentos como HTML o XML y permite a los programas modificar la estructura, estilo y contenido del documento. En el caso de un ataque de XSS basado en DOM el payload malicioso es ejecutado como resultado de la modificación del entorno DOM en el navegador de la víctima. Esto lleva a que el usuario ejecute código desde el lado del cliente sin saber que lo está haciendo.
A partir de la evolución de muchas librerías de JavaScript es cada vez más común que se implemente el proceso de los datos desde fuentes no confiables (insegura o sin la adecuada codificación de los datos) desde el lado del cliente, usualmente escribiendo estos datos en el DOM del sitio web.
Algunas funciones en JavaScript que pueden ser un indicador de un posible punto vulnerable son:
- domain
- write()
- writeln()
- innerHTML
- insertAdjacentHTML
- onevent
- Element.outerHTML
Sin olvidar las librerías como JQuery, en donde utiliza métodos específicos para facilitar algunas funciones tradicionales del propio JavaScript, u otras librerías sin la adecuada codificación de los datos:
- $.parseHTML()
- add()
- after()
- animate()
- append()
- before()
- constructor()
- has()
- html()
- index()
- init()
- insertAfter()
- insertBefore()
- parseHTML()
- prepend()
- replaceAll()
- replaceWith()
- wrap()
- wrapAll()
- wrapInner()
Herramientas para identificar ataques y la explotación de Cross Site Scripting
Por suerte, existen muchas herramientas para identificar un ataque de Cross-Site Scripting e incluso la explotación utilizando scripts elaborados para diversos usos. Aquí es donde el framework Beef entra en acción con la amplia gama de scripts disponibles. A continuación se listan los más usuales.
Prevenir ataques XSS
Medidas de prevención para navegantes
Lo más sencillo para que los clientes eviten el Cross Site Scripting es desactivar JavaScript en el navegador. Si se hace eso el XSS basado en DOM, cuyo objetivo son los códigos de Java del explorador, no tiene ningún efecto, ya que no se ejecutará ningúna función maliciosa. Hay navegadores donde es posible activar Add-ons que protegen de ataques de XSS. Para Mozilla Firefox, por ejemplo, existe la extensión NoScript: su configuración estándard fija el bloqueo automático de contenidos activos tales como JavaScript, Java Applets, Adobe Flash o Microsoft Silverlight. Si se desea, se puede levantar el bloqueo temporalmente o configurar una lista blanca de páginas si estamos absolutamente seguros de que son de confianza. Y un último consejo que deberías tener siempre en cuenta en relación con los riesgos del Cross Site Scripting es que te mantengas siempre escéptico ante datos ajenos como los enlaces, que deberías siempre examinar detenidamente antes de abrir.
Medidas de prevención contra ataques de XSS para administradores web
Sustituir los problemáticos caracteres meta HTML por referencias textuales, de forma que los caracteres meta se lean como texto y los archivos potencialmente infectados no se puedan ejecutar. Para ello, la mayoría de lenguajes de programación como Perl, JavaScript o PHP contienen funciones predefinidas para la sustitución o enmascaramiento de caracteres que puedes usar sin problemas. Los Web-Application-Firewalls (WAF) suponen también una efectiva defensa frente a ataques sencillos de XSS.
Un ejemplo de equivalencias a string o cadena de caracteres de algunos de los caracteres usados para inyectar código es el siguiente:
OWASP nos ofrece un modelo preventivo bajo algunas reglas que deberíamos tomar en cuenta para evitar la ejecución de comandos en el navegador (XSS). Las mismas se describen de forma general a continuación:
- Implementar y habliar una política de seguridad bajo el encabezado CSP (Content Secure Policy) considerando al menos los siguientes puntos:
- Evitar la ejecución de scripts insertados en HTML
- Prevenir la carga de scripts de una fuente desconocida
- Evitar el uso de funciones inseguras como Eval
- Restringir el uso del tag HTML object
- Establecer el atributo de seguridad HttpOnly para reducir el impacto del ataque XSS
- Validar cualquier dato de entrada bajo una lista blanca de caracteres permitidos
- Codificar la salida de los datos, al menos para los caracteres especiales (&, <, >, “, ‘), en su respectivo código HTML según el contexto, ya sea JavaScript, CSS, HTML
- Utilizar las librerías para sanitizar los datos como HtmlSanitizer o inputfilter
Vulnerabilidad CSRF o Cross-site request forgery
Por último pero no por ello menos peligrosa para la seguridad de la tienda está la vulnerabilidad CSRF, del inglés Cross-site request forgery. Para entender esta vulnerabilidad supongamos que un usuario tiene abierto en su navegador una página web vulnerable a este ataque y otra web legítima como por ejemplo su cuenta de correo, dicha web vulnerable a CSRF por medio de un código malicioso previamente introducido, podría llevar a cabo una acción en la otra página legítima sin que el usuario sea consciente de ello. En este tipo de ataque los ciberdelincuentes suplantan la identidad de la víctima pudiendo llevar a cabo multitud de acciones maliciosas como por ejemplo alterar configuraciones en cuentas de correo o realizar movimientos bancarios no autorizados.
Para las vulnerabilidades descritas, y otras muchas que no han sido tratadas en este artículo, la principal vía para proteger el portal de eCommerce es contar con una correcta política de actualizaciones, la utilización de APIs de seguridad para validar los datos de entrada, etc.
Destacar que cuando una tienda electrónica cuenta con todos sus componentes actualizados a la última versión liberada por el desarrollador, la probabilidad de sufrir uno de estos ataques se reduce considerablemente. Esto es debido a que los fabricantes además de mejorar las funcionalidades del CMS encargado de gestionar la tienda, buscan vulnerabilidades y las corrigen mediante las respectivas actualizaciones de seguridad. En consecuencia, un eCommerce que cuente con todos sus componentes actualizados a la última versión probablemente estará menos expuesto a este tipo de problemas.
Fuentes:
https://www.welivesecurity.com/la-es/2021/09/28/que-es-ataque-xss-cross-site-scripting/
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.