VULNERABILIDADES DE APLICACIONES WEB: OTRO JUEGO DE VERANO

17.01.2018 10:22
 
Para nuestros lectores del hemisferio norte es invierno, pero estamos seguros que igual difrutarán del juego. Obviamente incrustar un nombre de usuario y el hash de la contraseña en "atras.php" son vulnerabilidades pero están ahí para facilitar el desarrollo del juego.
A la brevedad publicaremos la respuesta. Por si alguien no descubrió la de nuestro juego anterior, la vulnerabilidad era que al tipear la contraseña la misma aparecía como texto plano y no escondida con asteriscos.
 
El archivo adelante.html es:
 
<html>
<h1>Simplemente ingrese</h1>
<form action="atras.php" method="post">
    Usuario: <input type="text" name="usuario" value="">
    <input type="password" name="clave" value="">
    <input type="submit">
</form>
<!-- Cambiar primero acceso del tráfico invasivo previo luego desaparecerán los 1142 archivos excedentes alivianando las 102 sobrecargas semanales gastándose US$ 2454 menos cada mes ---- administrador -->
</html>
 
y atras.php es:
 
<?php
$usuario = $_POST['usuario'];
$clave = $_POST['clave'];
$hashed = hash('sha512', $clave);
if (($usuario == 'administrador') && ($hashed == 'edae7c872ed53a5071ced641fb146455b046be2eb7c99b6892f51f6d61e86ec11fec8aba3fad8b61ed57b1e52176fcfff556511fc341bedd4efe67e4879c4929')){
  header('Location: administrador.php');
}else{
  header('Location: adelante.html');
}
?>
 
y administrador.php
 
<html>
<h1>Pagina del administrador</h1>
<h3>Bienvenido</h3>
</html>
 
Este ejercicio tiene por finalidad entrenar al lector para prevenir y/o eliminar vulnerabilidades. El hackeo es ilegal, pruebe esto sólo en su propio servidor aunque para encontrar la respuesta no hace falta contar con uno. ¡Éxitos!