Peligros de pasar la identificación del cliente Oauth 2.0 y el secreto del cliente en el uri de solicitud

2

Estaba leyendo aquí que al pasar un client_id y client_secret a un servidor de autorización,

  

Los parámetros solo pueden      transmitirse en el cuerpo de la solicitud y NO DEBE incluirse en el      solicitar URI.

  • ¿Cuáles son los posibles peligros de publicar estos parámetros en el solicitar uri?
  • Si el servidor no proporciona un token de acceso al cliente si estos Los parámetros están en la uri de solicitud en lugar del cuerpo?
pregunta martin 26.10.2016 - 04:44
fuente

1 respuesta

3
  

¿El servidor no debe proporcionar un token de acceso al cliente si estos parámetros están en el uri de solicitud en lugar del cuerpo?

Esto probablemente tiene sentido para educar a los programadores (si no obtienen un token de acceso, entonces aprenderán a hacerlo de la manera correcta), pero el sistema no sería más seguro si estuviera bajo ataque. Si el ID del cliente y el secreto del cliente fueron robados, entonces el atacante podría hacerse pasar por el cliente y obtener un token de acceso válido al enviar una solicitud correcta (con el ID y el secreto en el cuerpo del mensaje).

  

¿Cuáles son los posibles peligros de publicar estos parámetros en el uri de solicitud?

Si usa https para comunicarse con su punto final y confía en su proveedor de token de acceso, el peligro probablemente sea pequeño.

La identificación y el secreto del cliente pueden aparecer en el historial de su navegador si los envía directamente desde el navegador y probablemente podría ser robado a través de un javascript malicioso, lo que creo que sería el mayor riesgo. (Pero tenga en cuenta que si confía el navegador javascript con su ID de cliente y su secreto, entonces ya no son seguros ...)

La identificación y el secreto también pueden ser robados en el otro extremo de la conexión, ya que aparecen en los registros del servidor web al que se los envía, pero porque está enviando sus credenciales de cliente a un proveedor que ya los tiene, y quien ojalá sepa cómo mantener seguros sus sistemas, creo que este no era un punto probable de compromiso.

Si usa http sin cifrar, entonces el ID y el secreto del cliente pueden terminar en registros de cachés y proxies. Si alguien que olfatea su tráfico puede ver la URL solo es relevante a medias; ya que para hacer eso tiene que mirar la solicitud, y por lo tanto también podría ver la identificación y el secreto si se envían en el cuerpo de la solicitud.

    
respondido por el Pascal 26.10.2016 - 10:31
fuente

Lea otras preguntas en las etiquetas