Ho impostato una pagina e un database in modo da poter praticare l'iniezione SQL. Ho provato alcuni esempi e non sembra funzionare. Sembra aggiungere il nome utente e la password a quel database, anche se inserisco un'iniezione nel campo del nome utente. Ecco il mio codice:
include "Connection.php";
<form method="post" action="sqltest.php">
<fieldset>
<label for="username">Username: </label>
<input type="text" name="username"/>
<label for="passwd">Password: </label>
<input type="password" name="passwd"/>
</br>
<input type="submit" value="Submit" />
<input type="reset" value="Clear" />
</fieldset>
</form>
</div>
</div>
$username = $_POST["username"];
$password = $_POST["passwd"];
if (!empty($_POST)){
if (empty($username) || !isset($username)) {
echo "Please enter a valid username";
} else if (empty($password) || !isset($password)) {
echo "Please enter a valid password";
} else {
if (strlen($password) >= 6 && strlen($password) <= 8)
{
if (is_numeric($password))
{
echo "Password cannot be a number<br/>";
}
else{
$encrypted_mypassword=md5($password);
$query = "INSERT INTO sqltest (name,password) VALUES ('$username', '$password')";
$result = mysqli_query($connection,$query);
echo "You have successfully registered";
}
}
else {
echo "Password must be between 6 and 8 characters in length<br/>";
}
}
}
Qualcuno può dirmi degli esempi che potrebbero far cadere la tabella o inserire un utente? Mi sono appena reso conto che i suoi personaggi in fuga automaticamente. Sicuramente questo non impedisce tutta l'iniezione SQL. C'è qualcosa che posso iniettare per superare questo? Grazie!