2017-09-25 6 views
1

J'essaie de supprimer une table dans une base de données en utilisant l'injection SQL via PHP.Injection SQL à l'aide de PHP multi_query à DROP TABLEAU

Le code PHP soumet un formulaire à la base de données avec la commande suivante et multi_query ($ sql):

$sql = "INSERT INTO Student (StdNumber, FName, LName, DOB, PhoneNumber) 
VALUES ('$input1', '$input2', '$input3', '$input4', '$input5')"; 

Je pensais, je peux SQL Inject INPUT5. Donc, je l'utilise:

');"; $sql .= "DROP TABLE IF EXISTS Student;";-- - 

Cette ferme l'instruction SQL précédente, je commence une autre déclaration avec et je commente hors le reste avec - -

Cependant la table n « sql =. » ne pas tomber. Je ne vois pas ma commande d'injection dans input5 (PhoneNumber) dans la base de données, donc elle ferme avec succès la déclaration précédente, je crois.

Donc, je ne suis pas sûr de ce qui ne va pas, est-ce que j'utilise incorrectement multi_query? ou est-ce que mon injection est incorrecte?

Merci

Edit 1: De plus, lorsque je soumets la forme qu'elle accepte et fait une entrée dans la base de données.

+0

besoin d'être comme: - '$ sql = « INSERT INTO étudiant (StdNumber, FName, LName, DOB, PhoneNumber) VALEURS ('$ input1', '$ input2', '$ input3', '$ input4', '$ input5') "; $ sql. = "DROP TABLE SI EXISTE Étudiant;"; 'et ensuite utiliser' multi_query' –

+0

N'est-ce pas ce que je suis en train de faire Alive to Die? – Bartholomas

Répondre

1

Vous essayez de manipuler le sql qui est généré par le php, pas le php lui-même.

Vous ne devez pas ajouter php à votre entrée 5:

');"; $sql .= "DROP TABLE IF EXISTS Student;";-- - 

devrait être quelque chose comme:

1234567890'); DROP TABLE IF EXISTS Student; -- the rest here will be comments in sql 
+0

Merci! Donc je reçois SQL comme: INSERT INTO Student (StdNumber, FName, LName, DOB, PhoneNumber) VALEURS ('', '', '', '', '', ''); BAISSE TABLE SI EXISTE Étudiant; - ') – Bartholomas

+0

@Bartholomas Exactement, je viens d'ajouter un numéro de téléphone et quelques commentaires à illustrer. – jeroen

+0

Mais cela ne supprimera toujours pas la table dans la base de données. Serait-ce probablement quelque chose à voir avec multi_query ($ sql)? – Bartholomas