Puntos en las URL: ¿seguro?

4

Un amigo me preguntó si es relativamente seguro hacer clic en el siguiente enlace:

enlace

contenido en el comentario en esta página:

enlace

Mirando el enlace, lo reescribí para ir directamente al artículo al que hacía referencia, y le proporcioné a mi amigo el enlace simplificado. (Tenga en cuenta que no estoy ni aprobando ni condenando ninguna posición en el artículo mismo).

Pero si observa la URL original, notará que contiene dos puntos en una posición poco común (los dos puntos se codifican como %3A después de bad%2F ).

Desde el punto de vista de la seguridad, ¿esos dos puntos representan algún peligro?

También desde un punto de vista de seguridad, ¿se crean peligros graves si un usuario hace clic en el enlace original disq.us arriba?

    
pregunta RockPaperLizard 09.05.2017 - 19:47
fuente

1 respuesta

4

En las URL de HTTP (S), el : (en su forma directa) tiene estos propósitos:

  • delimitador entre esquema y hier-part ( http://example.com )
  • delimitador entre host y puerto ( example.com:80 )
  • Delimitador
  • (en desuso) entre el nombre y la contraseña en userinfo ( user:[email protected] )
  • en el host , puede ser parte de las direcciones IP

En la ruta , la consulta y el fragmento , el : se puede usar para representar datos. Así que no hay diferencia técnica entre una ruta como /hello y una ruta como /:hello .

En tu ejemplo, está codificado en porcentaje (como %3A ). Cualquier carácter codificado en porcentaje puede aparecer en la ruta / consulta / fragmento, donde representa datos.

(Terminología basada en el estándar URI )

No hay nada problemático para la seguridad sobre : o %3A en la ruta / consulta / fragmento, en comparación con cualquier otro carácter que pueda aparecer allí. Cualquier cosa que se pueda hacer con : (por ejemplo, usarlo como prefijo para una cadena de seguimiento de usuarios) también se podría hacer con ! , ; , etc.

Lo que probablemente suceda en su caso (solo una suposición al observar el enlace / redirección, no tengo experiencia con Disqus):

  1. Cuando un usuario publica un enlace externo, Disqus no lo vincula directamente. En su lugar, enlazan a su propio servicio enlace , que luego redirige a la URL original.
  2. Disqus agrega la URL original como valor para el parámetro url (a la que agrega una cadena críptica precedida por : ), y una ID como valor para el parámetro cuid .
    • La cadena : es generada (y recordada) por Disqus (vea el punto 3 para lo que podría usarse).
    • El cuid indica la cuenta de Disqus del propietario del sitio donde se publicó el comentario con el enlace externo (probablemente con fines analíticos).
  3. Para una URL original específica, la redirección solo funciona si la URL disq.us contiene la misma : -string que se generó cuando se envió la URL original por primera vez. Esto podría evitar que su servicio de redireccionamiento se use para las URL que nunca se publicaron en un comentario.

Por lo tanto, hacer clic en este enlace puede afectar su privacidad , incluso si ha deshabilitado el envío de Referer , e incluso si no ejecuta JavaScript:

  • El propietario del sitio vinculado puede saber que hizo clic en su enlace.
  • Disqus puede saber que hizo clic en este enlace (y en cuyo sitio, posiblemente también en la página).
  • El propietario del sitio vinculado puede saber que venía de un enlace en un comentario de Disqus, y posiblemente también de qué sitio / página (por ejemplo, si el Disqus cuid se puede encontrar en un motor de búsqueda).

Para evitar esto, puede extraer el valor del parámetro url , eliminar la última parte precedida por (e incluir) %3A y decodificar el resultado una vez. Esto le permite visitar el documento vinculado directamente, sin pasar por el servicio de redirección de Disqus. Esto funciona siempre que decidan incluir la URL de destino en su URL de redireccionamiento (que no tendrían que hacerlo).

    
respondido por el unor 10.05.2017 - 11:23
fuente

Lea otras preguntas en las etiquetas