Quando è necessaria una pagina intermedia prima di indirizzare un utente fuori dal mio sito web principale? Qual è la migliore implementazione?

4

La NSA ha una pagina che intercetta i reindirizzamenti dal sito principale. (fai clic su "TLS:" Suite B Cipher Suites per TLS, "RFC 5430" per un esempio).

Ho visto questo usato in Exchange Outlook Web Access (OWA) a impedire la divulgazione di informazioni tramite l'intestazione referer: .

  • What type of information would be risky to disclose via a referer: header?

Sembra che ci siano due approcci diversi qui: l'NSA richiede all'utente di "fare clic su" il sito, mentre OWA consente il reindirizzamento HTTP per gestire questa funzione di privacy.

  • Which is a better approach? Click to redirect, or HTTP 301/302 redirection

L'approccio "automatico" sembra prestarsi all'abuso e ai possibili attacchi XSS.

  • If a 301/302, or Javascript redirection to an external URL is used, what additional security precautions must be taken place?
    
posta random65537 10.10.2011 - 17:38
fonte

2 risposte

3

What type of information would be risky to disclose via a referrer: header?

Qualsiasi tipo di informazione privata o sensibile non dovrebbe essere esposta a siti Web esterni - tutto dipende dalla tua applicazione. Le cose più comuni da considerare sono:

  • ID sessione (a volte puoi vederli in parametri URL come? PHPSESSID = ....)
  • ID utente / ID risorsa (possono fornire un suggerimento a terze parti su chi è esattamente l'utente)
  • qualsiasi tipo di token sensibili come i tag CSRF , confermare i token di azione, account token di attivazione ecc.
  • alcuni dati utente sensibili, ad es. termini di ricerca che ha usato sul tuo sito web.

Which is a better approach? Click to redirect, or HTTP 301/302 redirection

Il reindirizzamento 30x va perfettamente bene dal punto di vista tecnico in quanto perderà l'intestazione del Referer. Prendi in considerazione l'uso di un "clic per reindirizzare" se desideri informare i tuoi utenti sul verificarsi del reindirizzamento.

If a 301/302, or Javascript redirection to an external URL is used, what additional security precautions must be taken place?

Ad esempio, immagina che l'autore di un attacco configuri un sito di phishing con il design del tuo sito e un modulo di login falsificato e utilizzi il reindirizzamento aperto per indirizzare gli utenti nel suo sito Web, raccogliendo i loro accessi e password. Ad esempio, potrebbe inviare campagne di spam con gli URL che puntano al tuo script di reindirizzamento. È una vulnerabilità di sicurezza comune comunemente chiamata reindirizzamento aperto . La protezione click-through sarebbe migliore in questo senso in quanto gli utenti sarebbero informati del verificarsi del reindirizzamento, ma è molto meglio avere un processo di validazione manuale / semi-automatica dei target di reindirizzamento in modo da poter monitorare gli URL dannosi e bloccarli .

Non avrai mai un controllo totale sugli URL di destinazione perché ci sono molti modi in cui gli autori degli attacchi nascondono i tuoi contenuti dannosi, ma avere un processo pronto a bloccare gli URL indesiderati ti consentirà di sviluppare filtri migliori, la lista nera comune domini o implementare una funzione greylisting: per i buoni URL conosciuti un reindirizzamento 301, per noto male - 501, e per tutti gli altri - conferma dell'utente. Questo è ciò che Facebook fa più o meno.

    
risposta data 10.10.2011 - 21:30
fonte
1

Per quanto ne so, il reindirizzamento automatico va bene, a patto di controllare a cosa verrà reindirizzato. Probabilmente è meglio evitare di creare un redirector aperto (c'è qualche polemica sul fatto che valga la pena di preoccuparsi o meno dei redirector aperti, ma io tendo a pensare che sia meglio evitarli). La pagina per reindirizzare gli utenti dovrebbe fare attenzione a garantire che non ci siano segreti nel suo URL.

    
risposta data 10.10.2011 - 19:14
fonte