Я пытаюсь удалить таблицу в базе данных с помощью SQL-инъекции через PHP.
Код PHP отправляет форму в базу данных с помощью следующей команды и multi_query ($ sql):
$sql = "INSERT INTO Student (StdNumber, FName, LName, DOB, PhoneNumber)
VALUES ('$input1', '$input2', '$input3', '$input4', '$input5')";
Поэтому я подумал, я могу ввести SQL Inject5. Поэтому я использую:
');"; $sql .= "DROP TABLE IF EXISTS Student;";-- -
Это закрывает предыдущий оператор SQL, затем я начинаю другой оператор с «sql. =», А затем комментирую остальную часть с — —
Однако стол не опускается. Я не вижу свою команду внедрения в input5 (PhoneNumber) в базе данных, поэтому она успешно закрывает предыдущее утверждение, в которое я верю.
Так что я не уверен, что не так, я неправильно использую multi_query? или моя инъекция неверна?
Спасибо
Изменить 1:
Кроме того, когда я отправляю форму, она принимает ее и делает еще одну запись в базе данных.
Вы пытаетесь манипулировать sql, генерируемым php, а не самим php.
Так что вы не должны добавлять php к своему 5-му вводу
');"; $sql .= "DROP TABLE IF EXISTS Student;";-- -
должно быть что-то вроде:
1234567890'); DROP TABLE IF EXISTS Student; -- the rest here will be comments in sql
Других решений пока нет …