Попытка выполнить инъекцию sql в моей базе данных.
Мне не удалось избежать строки, которую я вставляю в запрос, поэтому я не понимаю, что мешает мне получить все идентификаторы пользователей при вставке: имя пользователя или 1 = 1 в поле ввода имени пользователя. Работает как шарм, когда я жестко кодирую 1 = 1 в необработанном запросе.
У меня нет на сервере ничего другого, что могло бы вызвать это, все, что у меня есть, это индекс. php с приведенным ниже код.
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = 'SELECT ID FROM users WHERE username = "'.$_POST["username"].'"';
$result = mysqli_query($conn, $sql);
print_r($result);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["ID"];
print_r($row);
}
} else {
echo "0 results";
}
?>
<form method='POST' action='#'>
username <input type'text' name='username'></input>
<br>
password <input type'text' name='password'></input>
<input type='submit'>
</form>
<?php