¿Es esta información encriptada? ¿Por qué está en una URL?

3

Hay un proveedor que nos envía informes llenos de enlaces a artículos. Algunos de estos enlaces, especialmente los que realizan lo que supongo que es un verbo HTTP de algún tipo, tienen este aspecto:

https://arbitrarynumbers.acronym.website.com/anotheracronym/click?upn=V7nLa9UXJ-2FC89NDFn1UZlmMFXDCeN8q0tH6mY545KyAUaP8HmDtN9T2S-2Bg7aCCMBlSZh11liPowfKxWPna-2FVaptFLOZxqpcD68QrcptgMI1a22Y4XTEZiAeucUWjZAD9sVgV-2Baq0xequM7VcXl-2BmOl3FWqf7MOfWK13WhAyY6ILWhLP7aq99cI0yTYqdDXyfbGSCsAH14unM0mJZPPrnkibqRXOK6AicnwpYyUYWHrrglFkTEp1NUhfexGsfqdAypWPJVWibehmCua8elVvEK3h5UWGEQ-2BcMNXEYYaHh2Mk7e6P0PrboAZkrlVqjZw81_Vf68ZJ5AeUI3LF4CqINVwnqFVd-2FKRV7eRgp7NmpHn0vrNNp-2FS8Dx205CxtKAt8ruN8Tea80o1B2D68NmTEQrbzQbGcouV7k1BM7OghNe6LlIGeA-2B0g3cElmWBAQdEdnWI2eNmj-2FBye8kH4PB-2Bvp5GZihoTPLDhFLu31kSFdBGD5teoPbI-2FY26oYvi9TEWxcsvMtu3BS8V7aM0tKWV6h5D3IUQyv0cgY4liePEMplxsByyFEgJd5mgDyGiI4fFJgxPk529v0OuvuEDbPptklLF1LBT-2F-2Bt-2FOtOcTc-2BgfNAvLEHB8Rizid3vB6a6wd-2FG1PdK8fpMergoZPBy8DG3t143bUrabzZ-2BOvKN5bfzdOO80A-3D (Este enlace en particular es uno en el que hace clic para indicarles que el artículo no fue relevante).

¿Se trata de un intento de hash o cifrar el contenido de la URL para que las personas no puedan simplemente enviarles comandos aleatorios HTTP DELETE o algo similar? ¿O es algún tipo de seguridad por oscuridad? ¿Algo más enteramente?

    
pregunta thanby 02.03.2016 - 15:55
fuente

1 respuesta

7

No. Es probable que el enlace contenga la url completa del artículo que no fue relevante, y también los detalles del usuario que envía "esto no es relevante", por lo que solo aquellos que recibieron el informe pueden decir que "esto no es relevante".

No es seguridad por oscuridad, sino que es un enlace con datos de autenticación integrados, por lo que no tiene que escribir su nombre de usuario / contraseña o pedirle al gerente de la compañía que diga "esto no es relevante".

La razón para cifrar la url también es que un código que verifica la integridad al final, puede garantizar que los datos de autenticación que pertenecen al enlace 1 no se puedan utilizar para vincular al 2. Por ejemplo, cuando haya hecho clic en ese enlace, El artículo correspondiente se marca como no relevante. Si alguna persona no autorizada vuelve a hacer clic en el enlace, no importa ya que el artículo ya está marcado como no relevante.

El cifrado evita que alguien cambie la URL del artículo / ID del artículo dentro del enlace, por lo que un enlace no se puede utilizar incorrectamente para marcar otro artículo como no relevante, o el uso incorrecto del enlace para otras cosas, como cancelar la suscripción o similar.

Piensa el enlace como este: y luego lo cifra con un algoritmo simétrico, y luego lo codifica como urlsafe base64, antes de enviarlo. Dado que el servidor creó el enlace cifrado, el servidor también puede descifrar la información con la misma clave simétrica, pero nadie puede abusar de la información almacenada en el enlace.

No tiene NADA que ver con DELETE / PUT y dichos verbos HTTP. Normalmente, un navegador no puede enviar nada más que GET / HEAD / POST, por lo que la solicitud realizada es un GET en el caso anterior.

    
fuente

Lea otras preguntas en las etiquetas