lunes, 27 de abril de 2015

Fallos Logicos en Plataformas WEB

Cuando pensamos en un fallo o una vulnerabilidad y en especial cuando hablamos de plataformas WEB , quizás lo primero que se nos venga a la mente sea una nuevo exploit
, o un url con  un SQLI
Sin embargo existen un tipo de fallos que son pocos conocidos me refiero a los Fallos Logicos
Segun Microsoft un Error logico es lo siguiente.

Los errores lógicos son errores que impiden que su programa haga lo que estaba previsto. Su código puede compilarse y ejecutarse sin errores, pero el resultado de una operación puede generar un resultado no esperado.
Los errores lógicos son los más difíciles de detectar y corregir.

Quizas aun no haya entendido el mensaje que pretendo trasmitir por eso que mejor que un pequeño ejemplo , imagine lo siguiente esta haciendo una auditoria y se acaba de encontrar con un Login como el siguiente


Quizas lo primero que se le ocurra sea intentar adivinar el usuario y la contraseña como usted ya tiene experiencia sabe que el usuario muy probablemente se ADMIN  o ADMINISTRADOR , entonces procede escribe el usuario ADMIN y la contraseña 1234 , quizás no le sorprenda  recibir el siguiente mensaje.


Notese que dice No reconocemos el nombre de usuario O la contraseña , entonces queda la incertidumbre el usuario Admin es realmente el administrador del sistema puede que si como puede que no , podria ser el usuario correcto y la contraseña incorrecta o viceversa hay alguna forma de saberlo.

Pues en este ejemplo si hay una manera , resulta ser que existe un enlace para restaurar la contraseña , usted debe estar pensando y eso para que sirve ni siquiera se el usuario , pues resulta que con este enlace podemos saberlo por una medida se seguridad extra que uso del programador.



Use esta logica el Programador creo este enlace para ayudar a recuperar una contraseña perdida pero pensó que seria inseguro que se pudiese recuperar la contraseña del ADMINISTRADOR , entonces se podría probar lo siguiente , se intenta recuperar la contraseña del usuario Pepito.


Vaya sorpresa Pepito no puede ser el administrador de hecho ni siquiera existe en el sistema y si probamos con admin.



Eureka , nos aparece otro mensaje entonces se pude concluir de que el usuario admin , es el administrador del sistema porque no se puede restaurar su contraseña , una medida de seguridad que termino siendo un fallo logico , demas esta escribir sobre los maneras en las que se puede hackear un sitio web sabiendo un usuario , se podria usar por ejemplo fuerza bruta.