Sto provando SQL Injection sul mio localhost. Ho un semplice modulo HTML, con un nome utente, una password e un pulsante di invio. Quindi, dopo aver fatto clic sull'invio, l'utente viene reindirizzato da login.html
a una pagina chiamata login.php
:
<form method="post" action="login.php">
Di seguito è riportato un frammento del mio codice PHP:
$connect = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Unable to connect to '$dbhost'");
mysqli_select_db($connect,$dbname) or die("Could not open the database '$dbname'");
$message="";
$username = $_POST["uname"];
$pass_raw = $_POST["password"];
$password = md5($pass_raw);
$result = mysqli_query($connect,"SELECT * FROM students WHERE uname='" . $username . "' and password = '". $password."'");
$row = mysqli_fetch_array($result);
if(is_array($row)) {
echo "Congratulations! you have logged in!";
printf("Your First Name %s and Last Name is %s", $row[3], $row[4]);
printf("Your SSN is %s ", $row[5]);
} else {
$message = "Invalid Username or Password!";
echo "invalid user ";
}
Sono in grado di accedere a se inserisco l'utente e la password corretti. Sto cercando di eseguire SQL Injection, ma non ci riesco. Ho provato a utilizzare ' or ''='
ma non riesco ancora ad accedere. Sto provando questo in Kali, che viene preinstallato con MariaDB.