[RESOLU] Injecter des données dans une colonne SQL précise

Eléphant du PHP | 68 Messages

30 oct. 2022, 09:43

Bonjour,

je tente d 'injecter des données dans une colonne bien précise de ma base SQL suite à un POST, quand je fais des tests d'affichage avec des variables elles affichent bien les données mais je ne comprends pas pourquoi cela n'injecte pas dans ma base SQL, quelqu'un aurait-il une idée ?

Voici mon code:
if (isset($_POST['addcomuser'])) {

if(isset($_POST['COMMUNE']))      $COMMUNE=$_POST['COMMUNE'];
else      $COMMUNE="";

if(isset($_POST['USER']))      $USER=$_POST['USER'];
else      $USER="";

if(empty($COMMUNE) OR empty($USER)) 
    { 
    echo 'Formulaire incomplet !'; 
    } 
	else      
    {
	$req = "UPDATE db_communes SET USER = ".$USER." WHERE INSEE = ".$COMMUNE."";
	$res = $KwsConnectBdd->query($req);
	}
}

Merci de votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

30 oct. 2022, 10:36

Fais un var_dump() de ta requête et teste là dans phpmyadmin.

Par ailleurs ton code n'est pas du tout sécurisé, il faudrait que tu filtres les données reçues pour vérifier que c'est bien ce qui est attendu, et que tu utilises des requêtes préparées pour éviter tout risque d'injection SQL : https://www.php.net/manual/fr/pdo.prepa ... ements.php
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 68 Messages

30 oct. 2022, 10:46

Je suis désolé mais je ne sais pas du tout faire un var_dump().

Ce qui est injecté est le résultat d'une autre requêtes SQL qui va chercher les USERS et les COMMUNES dans d'autres bases et qui les proposent en menu <select> pour ensuite les injecter ici.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

30 oct. 2022, 10:48

Je suis désolé mais je ne sais pas du tout faire un var_dump().
:arrow: https://php.net/var_dump
A toi d'essayer ! :D
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 68 Messages

30 oct. 2022, 16:09

Je n'y comprends absolument rien mdr

Eléphant du PHP | 68 Messages

30 oct. 2022, 17:27

Du coup j'ai trouvé et réussi à injecter dans ma base SQL, seul problème, cela ne me met que le 1er mot de ma valeur et pas la totalité du texte

Eléphant du PHP | 68 Messages

30 oct. 2022, 18:56

Et bien au final j'ai tout réussi ^^