[sql/php]$GET injection sql
Résolu/Fermé
naruto-94
Messages postés
865
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
20 décembre 2012
-
5 mars 2007 à 18:22
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 27 déc. 2011 à 18:22
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 27 déc. 2011 à 18:22
A voir également:
- [sql/php]$GET injection sql
- Logiciel sql - Télécharger - Bases de données
- Easy php - Télécharger - Divers Web & Internet
- Get data back - Télécharger - Récupération de données
- Sql replace plusieurs valeurs - Forum Programmation
- Jointure sql ✓ - Forum MySQL
9 réponses
naruto-94
Messages postés
865
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
20 décembre 2012
188
6 mars 2007 à 17:39
6 mars 2007 à 17:39
a c'est bon j'ai trouver mysql_real_escape_string() !! je pense que sa fera l'affaire !!
http://www.nexen.net/index.php?option=com_nexen_v2&Itemid=232&&lang=FR&nexen_url_type=intern&nexen_path=docs%2Fphp%2Fannotee%2Ffunction.mysql-real-escape-string.php
----------------
- [ Juck'n0 ]-
http://www.nexen.net/index.php?option=com_nexen_v2&Itemid=232&&lang=FR&nexen_url_type=intern&nexen_path=docs%2Fphp%2Fannotee%2Ffunction.mysql-real-escape-string.php
----------------
- [ Juck'n0 ]-
benkeeper
Messages postés
81
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
26 janvier 2008
45
5 mars 2007 à 18:29
5 mars 2007 à 18:29
Hum ... à froid comme ça je vois pas, hormis que la requête est affichée en clair en cas d'erreur, ce qui peut donner des infos sur la structure de la base et sachant que pour un "hacker" toute info même minime sur le fonctionnement peut être bonne à prendre. Mais j'imagine que c'est une ligne qui va sauter une fois le passage en "production".
Au pire tu peux transformer la ligne htmlentities par :
$idsql = htmlentities($_GET['id'],ENT_QUOTES);
Comme ça tu es sur que la fonction convertie les éventuels guillemets simple, mais aussi les doubles.
Au pire il faudrait demander l'explication au "on" qui t'as dit ça ;)
Ben :)
PS : tant qua j'y suis c'est peut être une erreur de frappe mais la ligne
$sql = 'SELECT * FROM livres WHERE id='$idsql'' ;
est erronée. Il faudrait la corrigée par :
$sql = "SELECT * FROM livres WHERE id='$idsql' " ;
Entourée de guillemets double pour ne pas entrer en conflit avec les guillemets simples internes.
Au pire tu peux transformer la ligne htmlentities par :
$idsql = htmlentities($_GET['id'],ENT_QUOTES);
Comme ça tu es sur que la fonction convertie les éventuels guillemets simple, mais aussi les doubles.
Au pire il faudrait demander l'explication au "on" qui t'as dit ça ;)
Ben :)
PS : tant qua j'y suis c'est peut être une erreur de frappe mais la ligne
$sql = 'SELECT * FROM livres WHERE id='$idsql'' ;
est erronée. Il faudrait la corrigée par :
$sql = "SELECT * FROM livres WHERE id='$idsql' " ;
Entourée de guillemets double pour ne pas entrer en conflit avec les guillemets simples internes.
naruto-94
Messages postés
865
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
20 décembre 2012
188
5 mars 2007 à 18:42
5 mars 2007 à 18:42
Merci d'avoir répondu si vite , je vais mettre ton bout de code en esperant que sa suffira. et merci pour la ligne érronée je n'avais pas vu.
et pour le "on" en faite je ne le retrouve plus je lui avais demandé sur un forum dont je ne me rapelle plus l'adresse ^^' .
merci ^^
----------------
- [ Juck'n0 ]-
et pour le "on" en faite je ne le retrouve plus je lui avais demandé sur un forum dont je ne me rapelle plus l'adresse ^^' .
merci ^^
----------------
- [ Juck'n0 ]-
benkeeper
Messages postés
81
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
26 janvier 2008
45
5 mars 2007 à 19:46
5 mars 2007 à 19:46
Y a pas de quoi :)
En revanche s'il y a une autre faille dans ton code et que donc je ne l'ai pas vue non plus, essaie de nous tenir au courant parce que du coup il est possible que j'ai moi même fait l'erreur dans mes codes.
Ben
En revanche s'il y a une autre faille dans ton code et que donc je ne l'ai pas vue non plus, essaie de nous tenir au courant parce que du coup il est possible que j'ai moi même fait l'erreur dans mes codes.
Ben
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
naruto-94
Messages postés
865
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
20 décembre 2012
188
5 mars 2007 à 19:56
5 mars 2007 à 19:56
Okay pas de probleme ;) et j'ai un autre probleme j'ai creer un autre post..si tu a le temps ... :D
adresse : php image
et encore merci ^^
----------------
- [ Juck'n0 ]-
adresse : php image
et encore merci ^^
----------------
- [ Juck'n0 ]-
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
6 mars 2007 à 10:43
6 mars 2007 à 10:43
Bonjour,
Je ne sais pas si l'instruction mysql_query fonctionne si on envoie une requête "double"...
A tester :
Crée dans ta base de données une nouvelle table, "table_test"
Appelle ta page en mettant comme valeur à id le texte suivant :
1';DROP TABLE table_test;SELECT'1
Ta requête deviendrait alors
$sql = "SELECT * FROM livres WHERE id='1';DROP TABLE table_test;SELECT'1' ";
Lance la page, et regarde si ça plante (Ce qui serait bien !) ou si la table table_test a disparu... (ce qui serait très embêtant !)
Je ne sais pas si l'instruction mysql_query fonctionne si on envoie une requête "double"...
A tester :
Crée dans ta base de données une nouvelle table, "table_test"
Appelle ta page en mettant comme valeur à id le texte suivant :
1';DROP TABLE table_test;SELECT'1
Ta requête deviendrait alors
$sql = "SELECT * FROM livres WHERE id='1';DROP TABLE table_test;SELECT'1' ";
Lance la page, et regarde si ça plante (Ce qui serait bien !) ou si la table table_test a disparu... (ce qui serait très embêtant !)
naruto-94
Messages postés
865
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
20 décembre 2012
188
6 mars 2007 à 16:29
6 mars 2007 à 16:29
sa affiche une erreur :)
Erreur SQL ! SELECT * FROM livres WHERE id=1\';DROP TABLE table_test;SELECT\'1 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\';DROP TABLE table_test;SELECT\'1' at line 1
donc il n'y a pas de faille ? right or false ^^ ?
----------------
- [ Juck'n0 ]-
Erreur SQL ! SELECT * FROM livres WHERE id=1\';DROP TABLE table_test;SELECT\'1 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\';DROP TABLE table_test;SELECT\'1' at line 1
donc il n'y a pas de faille ? right or false ^^ ?
----------------
- [ Juck'n0 ]-
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
6 mars 2007 à 16:33
6 mars 2007 à 16:33
Ben faut voir, les erreurs affichées me semblent surtout venir des guillemets... Il faudrait essayer d'arranger ça pour être sûr...
houssem404
Messages postés
5
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
29 décembre 2011
27 déc. 2011 à 18:16
27 déc. 2011 à 18:16
je pense comme toi
$idsql = htmlentities($_GET['id']);
$idsql = htmlentities($_GET['id']);
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
27 déc. 2011 à 18:22
27 déc. 2011 à 18:22
Je vous laisse lire un article fort instructif qui vous permettra de comprendre qu'un simple htmlentities ne suffit pas:
https://shiflett.org/blog/2006/addslashes-versus-mysql-real-escape-string
https://shiflett.org/blog/2006/addslashes-versus-mysql-real-escape-string