VULNERABILIDADES DE APLICACIONES WEB: ¿CUÁL ES EL ERROR EN ESTA APLICACIÓN? (IV)

03.01.2018 08:21
La vulnerabilidad de la "aplicación" que habíamos presentado con el título "VULNERABILIDADES DE APLICACIONES WEB: ¿CUÁL ES EL ERROR EN ESTA APLICACIÓN? (III)" ( geoestrategia.webnode.es/news/vulnerabilidades-de-aplicaciones-web%3a-¿cual-es-el-error-en-esta-aplicacion-%28iii%29/ ) se hace evidente en el archivo cambio.php:
 
<html>
<h1>Aca se ingresa la nueva clave</h1>
<form action="guardar.php" method="post">
    Usuario: <input type="text" name="nombre" value="">
    Contrasena: <input type="password" name="nueva" value="">
    Confirmar ctsna.: <input type="password" name="reiterar" value=""> 
<input type="submit">
</form>
</html>
 
Se pide un nombre de usuario, pero no se verifica que se trate del mismo que se autenticó. El usuario Juan podría cambiar su contraseña o la de cualquier otra persona cuyo nombre de usuario conociera. Si el Juan conociera el nombre de usuario del administrador el ataque podría devenir en un escalamiento de priviliegios. 
 
La forma más simple de resolver el problema es solicitar el ingreso de la contraseña vieja y verificar que sea la correcta antes de cambiar la clave de acceso. Recordamos que el nombre de ususario y su contraseña nunca deben estar incrustados en el código (hardcoded) y muchísimo menos en texto plano. En el artículo anterior están así para facilitar el planteo del problema y su comprensión. Ante cualquier duda, inquietud y/o sugerencia invitamos a nuestros lectores a escribirnos a nuestra dirección de contacto: luis_lavric@hotmail.com.
 
Artículo relacionado: