Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/04/2007, 12h18   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 57
Points : 14
Points : 14
Par défaut [SQL] Simples quotes échappés automatiquement ?

Bonjour à tous,

je récupere la gestion d'un site web que je dois refondre
et apres avoir vu le code du système de login, je pensais qu'il était
vulnérable à une injection SQL.
En effet, voici le code (simplifié) du formulaire index.php:
Code HTML :
1
2
3
4
 
<form action="login.php" method="post" name="formulaire">
<input type="text" name="user">
<input type="password" name="pass">
Puis le code de login.php (ce sont vraiment les premieres lignes du formulaire, je n'ai rien enlevé), les variables $user et $pass sont récupérés via le système de register_globals qui est sur on :
Code :
1
2
3
4
5
6
7
8
9
10
 
$link = mysql_connect("localhost", "admin_login", "admin_pass")
or die ("Impossible de se connecter");
 
mysql_select_db ("BD")
or die ("Impossible d'accéder à la base de données");
 
session_start();
$req="select login,iduser from personnel where login='$user' and password='$pass';";
$res=mysql_query($req);
En etudiant le code, je me suis dit qu'en saisissant dans la page web le login :
Code :
';drop table personnel;
, c'était censé réaliser une injection SQL puis effacer la table cependant ... non.
Lorsque j'affiche le contenu de la variable $req je vois :
Citation:
select login,iduser from personnel where login='\';drop table personnel;' and password='test';
Mon simple quote a été automatiquement échappé. Savez-vous quel mécanisme a pu réaliser cela sachant qu'aucune fonction d'échappement n'est utilisée dans le code?
Bon je me prends la tete pour pas grand chose mais j'aimerai comprendre...
Merci,a +
elspliffo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 12h22   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
cela vient de magic_quotes_gpc
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 12h29   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 57
Points : 14
Points : 14
ok, vu dans la config php.ini .
Merci beaucoup pour la rapidité de ta réponse!
elspliffo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 13h29   #4
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
Fait attention, avec l'arrivée de PHP6, ces possibilités de sécurité du serveur vont disparaitre, a toi de securiser tes applications php.
Korko Fain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2007, 22h26   #5
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 57
Points : 14
Points : 14
oui, merci du conseil !
C'est clair que c'est vraiment pas top comme code...
elspliffo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h15.


 
 
 
 
Partenaires

Hébergement Web