2012-05-31 10 views
5

He leído un poco sobre cómo trabajar con la política de dominios cruzados, y ahora estoy consciente de dos maneras que funcionarán para mí, pero estoy luchando por comprender cómo CORS es más seguro que no tener ninguna restricción de dominio cruzado en absoluto.¿Cómo es CORS más seguro que no tener restricciones de dominio cruzado? Me parece que se puede usar maliciosamente

Según tengo entendido, la restricción de dominio cruzado se implementó porque teóricamente podría insertarse una secuencia de comandos maliciosa en una página que el usuario está viendo y que podría causar el envío de datos a un servidor que no está asociado (es decir, el mismo dominio) al sitio que el usuario ha cargado específicamente.

Ahora con la función CORS, parece que los tipos malintencionados pueden evitarlo porque es el propio servidor Malicous el que autoriza la solicitud de dominio cruzado. Por lo tanto, si un script malicioso decide enviar detalles a un servidor malicioso que tiene configurado Access-Control-Allow-Origin: *, ahora puede recibir esos datos.

Estoy seguro de que he malinterpretado algo aquí, ¿alguien puede aclararlo?

Respuesta

4

Creo que @dystroy tiene un punto ahí, pero no todo lo que estaba buscando. Esta respuesta también ayudó. https://stackoverflow.com/a/4851237/830431

Ahora entiendo que no tiene nada que ver con la prevención del envío de datos, y más que ver con la prevención de acciones no autorizadas.

Por ejemplo: un sitio en el que haya iniciado sesión (por ejemplo, una red social o un banco) puede tener una sesión de confianza abierta con su navegador. Si luego visita un sitio dudoso, no podrá realizar un ataque de scripts entre sitios utilizando los sitios en los que ha iniciado sesión (por ejemplo, publicar actualizaciones de estado de spam, obtener datos personales o transferir dinero desde su cuenta) debido a la política de restricción de dominio cruzado. La única forma en que podrían realizar ese ataque de secuencias de comandos entre sitios sería si el navegador no tenía habilitada la restricción de sitios cruzados, o si la red social o el banco habían implementado CORS para incluir solicitudes de dominios no confiables.

Si un sitio (por ejemplo, un banco o una red social) decide implementar CORS, debe asegurarse de que no se pueden obtener acciones no autorizadas o datos no autorizados, sino algo así como una API de contenido de sitio web de noticias o yahoo no tiene nada que perder habilitando CORS en *

3

Puede establecer un filtro de origen más preciso que "*".

Si decide abrir su página específica para incluirla en otra página, significa que se encargará de las consecuencias.

Pero el problema principal no puede ser que un servidor pueda recibir datos extraños: eso no es nada nuevo: todo lo que recibe un servidor es sospechoso. La protección es principalmente para el usuario que no puede ser abusado por una composición anormal de las fuentes (el englobado puede leer los datos englobados, por ejemplo). Entonces, si permite todos los orígenes para una página, no ingrese los datos que desea compartir solo con su usuario.

+0

¿Qué es englobing? – Grezzo

+0

Me refiero a incorporar. Perdón por mi mal ingles. –

Cuestiones relacionadas