Sto eseguendo un penetration test su unapplicazione web e sto usando window.history.back()
per tornare alla precedente pagina. È sicuro da usare?
Ad esempio, se visito google.com, poi accedo allapplicazione web e poi premo Indietro, mi presenterà di nuovo google.com. Allo stesso modo, se un utente malintenzionato potesse in qualche modo simulare questo in un iframe (se questo viene memorizzato nella cronologia della finestra) o se lutente visita lURL (ma sarebbe inutile) o eventualmente alterare una sorta di meccanismo di memorizzazione nella cache. Quali modi reali ci sono per sfruttarlo?
È un problema reale o sto pensando troppo?
Risposta
Puoi leggere informazioni su windows.history sito web di Mozilla . Spiega brevemente che history.back () non è diverso dal fare clic sul pulsante Indietro nel tuo browser Penso che stai pensando troppo a windows.history.back, ma non alloggetto window.history stesso! .
Se spiego in dettaglio sarebbe fuori argomento, tuttavia, posso affermare brevemente che i metodi window.history.pushState () o window.history.replaceState () valgono di più la pena di preoccuparsi. La manipolazione della cronologia del browser è possibile. Puoi anche verificalo da:
Manipolazione della cronologia del browser
Risposta
Se una pagina ha un link che window.history.back()
, potrebbe essere soggetto ad attacchi che abusano della fiducia che un utente ripone nei link allinterno dellapplicazione web. È possibile una forma di reindirizzamento aperto. Quando un utente visita il sito di un utente malintenzionato che reindirizza allapplicazione web, il collegamento a ritroso finirà sul sito dellaggressore, che può presentare una pagina di phishing.
Quindi lutente può fidarsi che tutti i collegamenti allinterno dellapplicazione sono affidabili, mentre un collegamento potrebbe effettivamente finire su un altro sito. Un vero e proprio attacco di phishing sarebbe difficile, poiché la vittima deve prima visitare il sito dellaggressore, essere convinta che stia visitando lapplicazione web attendibile e fare clic sul pulsante Indietro senza accorgersi che sta abbandonando lapplicazione attendibile.
Commenti
- Pensiero interessante. Immagino che uno scenario valido sarebbe qualcosa come le pagine della guida con un ' torna indietro ' in fondo o qualcosa del genere. Lautore dellattacco potrebbe creare un collegamento sicuro a quelle pagine perché lutente tornerà semplicemente al sito dellattaccante '. Se allutente capita di controllare il dominio mentre si trova nella pagina della guida, tutto andrà a buon fine. Ma queste pagine sono rare (specialmente con un web design più moderno) e il rischio sembra molto basso.