Quali sono i rischi di accettare il parametro URL per il reindirizzamento automatico?

6

Qualcuno può nominare tutti i rischi del seguente scenario:

L'utente visita una pagina, ma la sua sessione è scaduta, quindi viene reindirizzato automaticamente alla pagina di accesso con la sua pagina precedente e params aggiunti come parametro singolo, codificati usando urlencode() di PHP:

https;//www.example.com/login.php?previous_page=%2Fdashboard.php

Una volta effettuato l'accesso, reindirizza automaticamente a:

https;//www.example.com/dashboard.php

Al momento sono a conoscenza di due:

  1. Collegamenti manipolati che contengono nomi di dominio esterni, ad esempio: %codice%
  2. Collegamenti manipolati che contengono script, ad esempio: https://www.example.com/login.php?previous_page=http%3A%2F%2Fxss.com%2Fmalware.php

Attualmente impedisce di accettare solo il valore di https://www.example.com/login.php?previous_page=%3Cscript%3Ealert(document.cookie)%3B%3C%2Fscript%3E param se inizia con previous_page (codificato %2F ). Ci sono più rischi da prendere?

    
posta Alph.Dev 30.08.2014 - 17:06
fonte

1 risposta

3

Qualcuno potrebbe passare un link a //xss.com/malware.php , codificandolo come https://www.example.com/login.php?previous_page=%2F%2Fxss.com%2Fmalware.php . Per evitare ciò, potresti passare il percorso dalla radice del sito come parametro, in modo da passare solo dashboard.php . Quindi assemblare il collegamento completo sul lato server.

    
risposta data 30.08.2014 - 20:33
fonte

Leggi altre domande sui tag