Desincronizando conexiones en el lado del cliente 

Se ha revelado una nueva clase de amenazas conocida como «ataques de desincronización en el lado del cliente» (CSD). Estos ataques aprovechan vulnerabilidades en los servidores web que permiten a los atacantes desincronizar la conexión entre el navegador de un usuario y el sitio web vulnerable. 

A diferencia de los ataques clásicos de desincronización o contrabando de solicitudes, que se basan en solicitudes intencionalmente malformadas, los CSD utilizan solicitudes completamente compatibles con los navegadores convencionales. Esto amplía las posibilidades de contrabando de solicitudes en el lado del servidor y da lugar a una nueva categoría de amenazas: los ataques de desincronización en el lado del cliente. 

En términos generales, un ataque CSD implica las siguientes etapas: 

  1. La víctima visita una página web en un dominio arbitrario que contiene JavaScript malicioso. 
  1. El JavaScript induce al navegador de la víctima a emitir una solicitud al sitio web vulnerable, incluyendo un prefijo controlado por el atacante en su cuerpo, similar a un ataque de contrabando de solicitudes normal. 
  1. El prefijo malicioso queda en el socket TCP/TLS del servidor después de responder a la solicitud inicial, desincronizando la conexión con el navegador. 
  1. El JavaScript luego desencadena una solicitud de seguimiento a través de la conexión envenenada. Esto se añade al prefijo malicioso, provocando una respuesta perjudicial del servidor. 

Lo alarmante es que estos ataques no dependen de discrepancias en el análisis entre dos servidores, lo que significa que incluso los sitios web de un solo servidor pueden ser vulnerables. 

Es importante destacar que para que estos ataques funcionen, el servidor web objetivo no debe admitir HTTP/2, ya que los CSD dependen de la reutilización de la conexión HTTP/1.1, mientras que los navegadores suelen preferir HTTP/2 cuando está disponible. 

Los expertos sugieren realizar pruebas sistemáticas para identificar vulnerabilidades de desincronización en el lado del cliente, utilizando herramientas como Burp Scanner y la extensión HTTP Request Smuggler. Sin embargo, también subrayan la importancia de entender el proceso manualmente para consolidar la comprensión de cómo funciona este tipo de amenazas.

Vía: PortSwigger