Ataque y longitud del contenido

2

He estado investigando BREACH, y si bien puedo entender cómo podría funcionar si tienes acceso al navegador (para enviar solicitudes elaboradas) y al cable (para capturar la longitud de respuesta comprimida ) No he visto una forma de hacer esto sin acceso al cable, aparte de un ataque de tiempo frágil en el tiempo de respuesta. Puede obtener Content-length con este código, pero solo funciona si el sitio habilitó CORS y no se usa un Content-length fragmentado.

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
req.getAllResponseHeaders().toLowerCase();

También hay un enfoque de iframe , pero no conozco una manera de obtener el Content-length para un iframe, y nuevamente, esto falla si está fragmentado.

¿Me estoy perdiendo algo? ¿Existe una técnica que no haya cubierto para obtener el Content-length ? No parece ser un ataque viable sin el acceso tanto al navegador como al acceso a eso o al cable.

    
pregunta David Ehrmann 04.09.2014 - 22:34
fuente

1 respuesta

1

El ataque BREACH es un ataque de canal lateral. Necesita alguna forma de acceder al canal lateral.

En la página 13 de la presentación , puedes ver lo que BREACH necesita que el atacante configure:

  1. Un servidor web que sirve el sitio que visita el navegador.

  2. Una devolución de llamada en la que el javascript en el navegador de la víctima notifica al atacante que la solicitud se completó, brindando información sobre el momento en que se realizaron los paquetes con la cadena actualmente probada.

  3. Un MITM para controlar la longitud de los paquetes enviados.

En otras palabras, necesita acceso al cable.

    
respondido por el user10008 04.09.2014 - 23:50
fuente

Lea otras preguntas en las etiquetas