
Exploit de enumeración de nombres de usuario para Medicine Tracker System 1.0 que aprovecha las discrepancias en el tiempo de respuesta en la funcionalidad de inicio de sesión para identificar nombres de usuario válidos.
Título del Exploit: Medicine Tracker System 1.0 - Discrepancia Observable: Enumeración de nombres de usuario mediante tiempo de respuesta
Fecha: 22 de abril de 2023
Autor del Exploit: William David Mathisen (d34dun1c02n)
Página del Proveedor: https://www.sourcecodester.com/php/16308/medicine-tracker-system-php-oop-and-mysql-db-source-code-free-download.html
Enlace del Software: https://www.sourcecodester.com/download-code?nid=16308&title=Medicine+Tracker+System+in+PHP+%28OOP%29+and+MySQL+DB+Source+Code+Free+Download
Versión: v1.0
Probado en: Kali Linux, XAMPP, Mysql
CVE: 2023-30458
Descripción del Exploit: Se descubrió un problema de enumeración de nombres de usuario en Medicine Tracker System 1.0. La funcionalidad de inicio de sesión permite a un usuario malintencionado adivinar un nombre de usuario válido debido a un tiempo de respuesta diferente respecto a nombres de usuario inválidos.
Vector de Ataque Manual:
Ruta de ataque manual: URL: http://localhost/php-mts/app/login.php
Con Burp en ejecución, envía un nombre de usuario y contraseña inválidos, luego envía la solicitud POST /php-mts/app/login.php a Burp Repeater.
Observa que cuando el nombre de usuario es inválido, el tiempo de respuesta es aproximadamente el mismo. Sin embargo, cuando ingresas un nombre de usuario válido, el tiempo de respuesta aumenta dependiendo de la longitud de la contraseña que ingresaste.
Envía esta solicitud a Burp Intruder y selecciona el tipo de ataque como sniper. Limpia las posiciones de payload predeterminadas y selecciona la posición del nombre de usuario.
Desde la pestaña de payloads selecciona "add from list" nombres de usuario y agrega manualmente un nombre de usuario a la lista que sepas que es legítimo (mcooper, etc). Selecciona iniciar ataque.
Cuando el ataque finalice, en la parte superior del cuadro de diálogo, haz clic en Columns y selecciona las opciones Response received y Response completed. Estas dos columnas ahora se muestran en la tabla de resultados.
Observa que el nombre de usuario válido toma significativamente más tiempo que los demás.