CSRF
interfaz
Código fuente
<?php
if( isset( $_GET[ 'Change' ] ) ) {
// Get input
$pass_new = $_GET[ 'password_new' ];
$pass_conf = $_GET[ 'password_conf' ];
// Do the passwords match?
if( $pass_new == $pass_conf ) {
// They do!
$pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_new ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
$pass_new = md5( $pass_new );
// Update the database
$insert = "UPDATE `users` SET password = '$pass_new' WHERE user = '" . dvwaCurrentUser() . "';";
$result = mysqli_query($GLOBALS["___mysqli_ston"], $insert ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
// Feedback for the user
echo "<pre>Password Changed.</pre>";
}
else {
// Issue with passwords matching
echo "<pre>Passwords did not match.</pre>";
}
((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>
Análisis de código
Al obtener la nueva contraseña en el formulario de cambio y la nueva contraseña repetida, compare si las dos son iguales, si son iguales, modifique la contraseña, si son inconsistentes, solicite un error de entrada
Paso de infiltración
Paso 1: Haga clic en el botón de cambio para usar la suite de eructos para capturar liuliangbao. Al observar el paquete de tráfico, se encuentra que el
segundo paso es usar la solicitud de obtención : construir los parámetros de la solicitud de obtención, escribir la contraseña_new y los parámetros que siguen a passwprd_conf en la nueva contraseña y realizar la manipulación de la contraseña. El
tercer paso: probar la antigua contraseña y descubre que el inicio de sesión falla.
Escenarios de aplicación
Al construir hipervínculos en otras páginas, incitar a los usuarios a hacer clic para cambiar la contraseña del usuario.