Referer en Sitios Web de Streaming
Introducción
En el ámbito de la seguridad web, la correcta implementación y validación del encabezado Referer
es clave, especialmente en plataformas de streaming que manejan contenido comercial.
Un caso específico que ilustra esta vulnerabilidad es el de un sitio de streaming de un canal de televisión en vivo que no gestiona adecuadamente esta política (Referrer-Policy), permitiendo que se realice un bypass a la medida de seguridad contra orígenes no autorizados.
Prueba del Concepto
Al observar en detalle cómo responde el servidor a diversas peticiones de recursos desde diferentes orígenes, se puede evidenciar que, en algunos casos, solo estableciendo la propiedad referrerpolicy
en no-referrer
para no enviar el encabezado Referer
con un dominio diferente al original, es posible eludir esta pequeña capa de seguridad.
1
2
3
4
5
6
7
8
9
10
11
<iframe
id="MediaStreamVideoPlayer-ff93cb7a457854f6c89abae3595a80ca4"
loading="lazy"
title="MediaStream embedded video player"
data-src="https://mdstrm.com/live-stream/574463697b9817cf0886fc17?enablejsapi=1&autoplay=true&muted=1&starttime=0"
src="https://mdstrm.com/live-stream/574463697b9817cf0886fc17?enablejsapi=1& autoplay=true"
allow="autoplay; encrypted-media"
data-lazy-load="true"
allowfullscreen=""
referrerpolicy="no-referrer" <!-- evitando enviar referer -->
></iframe>
A la fecha de esta publicación, el ejemplo completo (PoC) se puede encontrar en referer-policy bypass (en algunos casos la reproducción no es compatible con Firefox).
Problema
Sin el Referer, el servidor no puede verificar la fuente de la solicitud. Esto permite que sitios no autorizados puedan incrustar el contenido del streaming sin restricciones.
Mejores Prácticas
Para mitigar estos riesgos, es fundamental:
Establecer Políticas de Referencia Claras: En lugar de utilizar
no-referrer
, se podrían considerar políticas comosame-origin
ostrict-origin
, que permiten el envío del Referer solo en solicitudes que provienen de orígenes confiables.Validar el Referer en el Servidor: Implementar validaciones en el servidor para asegurarse de que las solicitudes provienen de fuentes autorizadas. Esto puede incluir verificar el encabezado Referer y rechazar solicitudes que no cumplan con los criterios establecidos.
Nota
Este artículo tiene fines educativos y no fomenta el uso indebido de las vulnerabilidades descritas. No me hago responsable por el uso que terceros puedan darle a esta información.
Comments powered by Disqus.