ID de sesión débiles
interfaz
Código fuente
<?php
$html = "";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (!isset ($_SESSION['last_session_id'])) {
$_SESSION['last_session_id'] = 0;
}
$_SESSION['last_session_id']++;
$cookie_value = $_SESSION['last_session_id'];
setcookie("dvwaSession", $cookie_value);
}
?>
Análisis de código
Obtenga el valor de last_session_id, si existe, +1, si no existe, cree uno nuevo y establézcalo en 0. Se puede ver que la legitimidad del last_session_id existente no se juzga, y la sesión se puede construir para lograr el efecto de ingresar directamente sin ingresar una contraseña.
Paso de infiltración
El primer paso: después de hacer clic en el botón Generar, use el complemento de Chrome para ver la cookie y haga clic para exportar la cookie.
Paso 2: Cierre el navegador y vuelva a visitar index.php, encontrará que la página web salta a la página login.php. Esto se debe a que aún no he iniciado sesión. Al comprobar la cookie en la página actual, encontré que faltaba una dvwaSession.
Paso 3: Cree un nuevo archivo txt, pegue y vea la cookie copiada en el primer paso, y descubra que el valor de dvwaSession es 1. Combinado con el análisis del código fuente anterior, este dvwaSession aumentará en 1 cada vez que haga clic en generar, siempre que el valor sea mayor que 1, puede iniciar sesión.
Paso 4: agregue una cookie en la página login.php, el nombre es: dvwaSession, el valor es 2 y la ruta es: / DVWA / vulnerabilities / debil_id, preste atención para verificar las opciones de sesión y hostonly.
Paso 5: Visite la interfaz index.php nuevamente para ingresar. No volverá a saltar a la interfaz login.php para lograr una entrada sin contraseña.
Dirección de descarga del complemento
La dirección de descarga del complemento de Chrome utilizada en este experimento: descarga del complemento