Quanto è sicuro il reindirizzamento verso un altro sito?

10

Diciamo che ho un sito web a https://example.com/test . Ogni volta che qualcuno accede a questo sito, desidero semplicemente reindirli su https://example.com/Test .

Ci sono possibili vulnerabilità qui? O questo metodo è sicuro poiché tutto quello che sto facendo è il reindirizzamento da un sito protetto a un altro?

    
posta alex067 12.04.2018 - 05:17
fonte

5 risposte

30

/test e /Test sono entrambi ospitati su example.com ... quindi è solo un reindirizzamento di pagine non un reindirizzamento di dominio ... questo è un non-problema.

Il reindirizzamento delle persone è sempre così, ad esempio il reindirizzamento da HTTP a HTTPS è praticamente lo standard del settore a questo punto.

    
risposta data 12.04.2018 - 08:16
fonte
18

Implementato correttamente, non ci sono problemi con questo.

Ci sono due cose da tenere a mente (presumo che test non sia statico qui, ma fornito dall'utente, quindi ad esempio vuoi fare il maiuscolo in ogni percorso):

  • Apri reindirizzamento: se il reindirizzamento è implementato in modo errato, potrebbe essere possibile reindirizzare un utente malintenzionato al di fuori del tuo dominio, che potrebbe essere utilizzato in attacchi di phishing
  • CSRF: se la tua protezione CSRF è solo un semplice controllo di referer (che non è raccomandato), e se hai richieste GET che cambiano lo stato (anche questo non è raccomandato), quelle potrebbero essere sfruttate, a seconda del tuo implementazione del meccanismo di reindirizzamento
risposta data 12.04.2018 - 08:55
fonte
8

Reindirizzare gli utenti a pagine o domini diversi è una pratica normale seguita da molti sviluppatori (anche le MNC, tra cui FB, reindirizzamenti fb.com a facebook.com). Non è un problema se provi a reindirizzare le richieste in modo sicuro.

Potresti voler controllare Cheat Sheet OWASP per reindirizzamenti non convalidati e inoltro (chiamato anche reindirizzamento aperto). Questo documento fornisce metodi sicuri per reindirizzare l'URL in più linguaggi di programmazione.

    
risposta data 12.04.2018 - 08:55
fonte
1

Fino a hostname rimane uguale e il tuo utente si fida di esso. Non dovrebbe essere un problema.

Questo tipo di reindirizzamento è comune a Internet e contribuisce a fornire un'esperienza utente migliore.

For instance:

you have a resource at https://testwebsite.com/Test but due to some typo or developer's mistake it is written as https://testwebsite.com/test. The redirection will help user to see an appropriate file instead of seeing a 404 file not found error or Internal server error.

    
risposta data 12.04.2018 - 11:48
fonte
-4
  1. Reindirizzamento all'interno dello stesso dominio - nessun rischio. (perché il tuo dominio è attendibile)

    Esempio: https://domain.com/login reindirizza a https://domain.com/dashboard

  2. Il reindirizzamento a un sito Web di terze parti è un rischio di gravità medio se si perdono dati sensibili come access_token, chiavi segrete sul sito Web di terzi.

    Esempio: https://domain.com/redirect_to_fb reindirizza utente a https://fb.com

  3. Il reindirizzamento controllato dell'attaccante conduce a:

    a. Phishing https://domain.com/login?redirect_to=http://evil.com

    b. Problema di Cross Site Scripting (XSS): https://domain.com/login?redirect_to=javascript:alert(document.cookie)

    c. Token di perdite Esempio: https://domain.com/login?redirect_to=https://attackerdomain.com Esempio: https://r0rshark.github.io/2015/09/15/microsoft/

    d. Ignorare la politica di sicurezza del contenuto

    e. Referrer check bypass

    f. Ignorazione lista bianca URL

    g. Bypass inclusivo di ng-inclusione

Se un utente malintenzionato è in grado di controllare il reindirizzamento, si tratta di un problema serio.

    
risposta data 12.04.2018 - 12:07
fonte

Leggi altre domande sui tag