¿Enviar un ataque CSRF con un referente de encabezado específico?

2

Hay una manera de evitar una protección CSRF del remitente y obligar a www.attacker.com a enviar una solicitud POST a www.victim.com con el encabezado como "referer: enlace "?

Por ejemplo, el script a continuación puede cambiar la referencia desde la página del navegador, pero un atacante puede enviar una solicitud que muestre un dominio de referencia diferente a www.victim.com.

    <script>
          delete window.document.referrer;
            window.document.__defineGetter__('referrer', function () {
                return "https://www.victim.com";
            }); 
alert(document.referrer)
    </script>

enlace

Sé que hay formas de omitir algunas protecciones CSRF de referencia. Por ejemplo, mostrar las solicitudes de referencia con un espacio vacío o en blanco, pero ¿qué pasa si la aplicación web rechaza las referencias en blanco o vacío y un "dominio o subdominio específico" lo necesita para procesarlo? la solicitud POST.

¿Sería posible omitir esta protección de un dominio externo?

    
pregunta pancho 03.06.2016 - 01:21
fuente

2 respuestas

3

consulte la sección "Comprobaciones de encabezado estándar" en esta página:

enlace

Según mi conocimiento, los encabezados de referencia no se pueden cambiar si no hay un error xss. Las solicitudes de Ajax tampoco tienen permitido cambiar el encabezado del remitente como lo indicó alguien en los comentarios de este hilo:

    
respondido por el entropy 03.06.2016 - 05:32
fuente
4

Referer se considera un encabezado especial (como 'Host') y no puede ser Establecer dentro del navegador. Así que lo máximo que puedes hacer con algunos trucos es hacerlo vacío, pero no apuntar a otro lado.

Por supuesto, puede usar otras herramientas para realizar solicitudes diseñadas con su propio encabezado Referer . Pero en este caso, usted (como atacante) no tiene acceso a las cookies relevantes para el sitio de destino, por lo que tampoco funcionaría como un ataque CSRF.

    
respondido por el Steffen Ullrich 03.06.2016 - 03:56
fuente

Lea otras preguntas en las etiquetas