¿No seguro para permitir todos los encabezados? [cerrado]

2

Actualmente estoy desarrollando una aplicación web. Para probar y desarrollar permití todos los encabezados. ¿Es esto inseguro para el uso productivo?

Header unset Connection
Header unset Time-Zone
Header unset Keep-Alive
Header unset Access-Control-Allow-Origin
Header unset Access-Control-Allow-Headers
Header unset Access-Control-Expose-Headers
Header unset Access-Control-Allow-Methods
Header unset Access-Control-Allow-Credentials

Header set   Connection                         keep-alive
Header set   Time-Zone                          "Asia/Jerusalem"
Header set   Keep-Alive                         timeout=100,max=500
Header set   Access-Control-Allow-Origin        "*"
Header set   Access-Control-Allow-Headers     "Accept, Accept-CH, Accept-Charset, Accept-Datetime, Accept-Encoding, Accept-Ext, Accept-Features, Accept-Language, Accept-Param$
Header set   Access-Control-Expose-Headers    "Accept, Accept-CH, Accept-Charset, Accept-Datetime, Accept-Encoding, Accept-Ext, Accept-Features, Accept-Language, Accept-Param$
Header set   Access-Control-Allow-Methods     "CONNECT, DEBUG, DELETE, DONE, GET, HEAD, HTTP, HTTP/0.9, HTTP/1.0, HTTP/1.1, HTTP/2, OPTIONS, ORIGIN, ORIGINS, PATCH, POST, PUT$
Header set   Access-Control-Allow-Credentials   "true"

Header set DNT "0"
Header set Accept-Ranges "bytes"
Header set Vary "Accept-Encoding"
Header set X-UA-Compatible "IE=edge,chrome=1"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set X-Xss-Protection "1; mode=block"
    
pregunta Yann1ck 10.06.2016 - 18:31
fuente

1 respuesta

4
  

Para probar y desarrollar permití todos los encabezados. ...

No está muy claro lo que quiere decir aquí (quizás sea más específico y no solo descargue la configuración) sino ...

 Header set   Access-Control-Allow-Origin        "*"
 Header set   Access-Control-Allow-Credentials   "true"

Definitivamente no es una buena idea permitir el acceso de origen cruzado desde cualquier lugar. Y es aún peor combinar esto con el envío de cookies y otras credenciales.

Con estas restricciones sueltas, un atacante podría usar solicitudes XHR para acceder a un sitio con las credenciales almacenadas del usuario (es decir, cookie de sesión), cambiar los datos con los permisos del usuario (CSRF clásico) e incluso leer la respuesta (qué clásico) CSRF no puede hacer). Por ejemplo, si implementaría este código para una aplicación interna de la empresa, un atacante externo podría usar el navegador de usuarios internos como trampolín para acceder completamente a la aplicación y leer el contenido y todo con la identidad del usuario que ha iniciado sesión actualmente.

Dichos ataques basados en XHR podrían ejecutarse cuando el usuario visita el sitio de los atacantes y dicha visita podría activarse desde un anuncio publicado por cualquiera de las redes publicitarias.

Aparte de eso:

Header set   Access-Control-Allow-Methods     "...HEAD, HTTP, HTTP/0.9, HTTP/1.0, HTTP/1.1, HTTP/2, OPTIONS, ORIGIN, ...

No tengo idea de lo que intentas hacer aquí, pero los métodos son GET, POST, HEAD ... y no HTTP / 0.9, HTTP / 1.0, etc. Realmente recomiendo que eches un vistazo más de cerca a cómo funciona CORS. qué significan los encabezados y cuáles son las implicaciones de seguridad.

    
respondido por el Steffen Ullrich 10.06.2016 - 19:08
fuente

Lea otras preguntas en las etiquetas