Colons in URL: sicuro?

4

Un amico mi ha chiesto se è relativamente sicuro fare clic sul seguente link:

link

contenuto nel commento su questa pagina:

link

Dando un'occhiata al link, l'ho riscritto per andare direttamente all'articolo che stava facendo riferimento e ho fornito al mio amico il link semplificato. (Nota che non sono che condanno né condanni alcuna posizione nell'articolo stesso.)

Ma dando un'occhiata all'URL originale, noterai che contiene due punti in una posizione insolita (i due punti sono codificati come %3A dopo bad%2F ).

Da un punto di vista della sicurezza, quel colon rappresenta qualche pericolo?

Anche da un punto di vista della sicurezza, esistono dei rischi seri se un utente fa clic sul link disq.us originale sopra?

    
posta RockPaperLizard 09.05.2017 - 19:47
fonte

1 risposta

4

Negli URL HTTP (S), il : (nella sua forma diretta) ha questi scopi:

  • delimitatore tra schema e hier-part ( http://example.com )
  • delimitatore tra host e porta ( example.com:80 )
  • (deprecato) delimitatore tra nome e password in userinfo ( user:[email protected] )
  • nell'host , potrebbe essere parte degli indirizzi IP

Nel percorso , nella query e nel frammento , è possibile utilizzare : per rappresentare i dati. Quindi non vi è alcuna differenza tecnica tra un percorso come /hello e un percorso come /:hello .

Nel tuo esempio, è codificato in percentuale (come %3A ). Qualsiasi carattere con percentuale codificata può apparire nel percorso / query / frammento, dove rappresenta i dati.

(Terminologia basata sullo standard URI )

C'è niente di problematico per sicurezza su : o %3A nel percorso / query / frammento, rispetto a qualsiasi altro personaggio che può apparire lì. Qualunque cosa si possa fare con : (ad es. Usarlo come prefisso per una stringa di tracciamento utente) potrebbe anche essere fatto con ! , ; , ecc.

Ciò che probabilmente accade nel tuo caso (solo un'ipotesi osservando il link / reindirizzamento, non ho esperienza con Disqus):

  1. Quando un utente pubblica un collegamento esterno, Disqus non lo collega direttamente. Al contrario, collegano al proprio link del proprio servizio, che quindi reindirizza all'URL originale.
  2. Disqus aggiunge l'URL originale come valore per il parametro url (al quale aggiunge una stringa criptica anteposta da : ) e un ID come valore per il parametro cuid .
    • La stringa : viene generata (e ricordata) da Disqus (vedi il punto 3 per quello che potrebbe essere usato).
    • Il cuid indica l'account Disqus del proprietario del sito in cui è stato pubblicato il commento con il link esterno (probabilmente a scopo di analisi).
  3. Per un URL originale specifico, il reindirizzamento funziona solo se l'URL disq.us contiene la stessa : -stringa generata quando l'URL originale è stato inviato per la prima volta. Questo potrebbe impedire che il loro servizio di reindirizzamento venga utilizzato per gli URL che non sono mai stati pubblicati in un commento.

Quindi, facendo clic su questo link puoi influire sulla tua privacy , anche se hai disattivato l'invio di Referer e anche se non esegui JavaScript:

  • Il proprietario del sito di collegamento può sapere che hai fatto clic sul loro link.
  • Disqus può sapere che hai fatto clic su questo link (e sul cui sito, forse anche pagina).
  • Il proprietario del sito collegato può sapere che sei venuto da un link in un commento di Disqus, e probabilmente anche da quale sito / pagina (ad es., se la Disqus cuid può essere trovata in un motore di ricerca).

Per evitare ciò, puoi estrarre il valore del parametro url , rimuovere l'ultima parte anteposta (e includendo il) %3A e la percentuale-decodificare il risultato una volta. Ciò consente di visitare direttamente il documento collegato, senza passare attraverso il servizio di reindirizzamento di Disqus. Questo funziona fino a quando decidono di includere l'URL di destinazione nel loro URL di reindirizzamento (che non dovrebbero).

    
risposta data 10.05.2017 - 11:23
fonte

Leggi altre domande sui tag