Sanguo Posté 15 Avril 2009 Posté 15 Avril 2009 Bonjour, De temps en temps Google Analytics me révèle se genre de lien sur un de mes sites : /news.php?id=-99+union+select+1,2,3,4,concat(table_name,0x3e,column_name,0x3e,table_schema),6, 7+from+information_schema.columns+WHERE+column_name+LIKE+char(37,117,115,101,114, 37)-- Sur cette page j'ai simplement un $_GET ['id'] pour afficher la news. Avec l'appel, le malveillant arrive à afficher l'ensemble des tables de la base. Rien de dommageable mais sur le principe je tique. Savez vous comment je peux m'en prémunir ?
SStephane Posté 15 Avril 2009 Posté 15 Avril 2009 (modifié) echapper ta variable en get pour faire ta requête avec mysql_real_escape_string() par exemple Sur cette page j'ai simplement un $_GET ['id'] pour afficher la news. Avec l'appel, le malveillant arrive à afficher l'ensemble des tables de la base. Rien de dommageable mais sur le principe je tique. ça va tu n'es pas trop regardant Modifié 15 Avril 2009 par SStephane
TheRec Posté 15 Avril 2009 Posté 15 Avril 2009 Salut, Sur cette page j'ai simplement un $_GET ['id'] pour afficher la news. Avec l'appel, le malveillant arrive à afficher l'ensemble des tables de la base. Rien de dommageable mais sur le principe je tique. Vraiment pas regardant C'est juste un SELECT pour le moment... mais s'il venait à remplacer ça par des instruction destructives (TRUNCATE TABLE, DELETE FROM, etc.), je pense que tu tiqueras plus (même avec des backups réguliers ) Cela s'appelle une injection SQL, tu trouveras énormément d'aide à ce sujet en cherche un peu. Suis le conseil de SStephane utilise mysql_real_escape_string sur ta variable $_GET['id'], c'est un très bon début. De manière générale, ne jamais utiliser de données fournies potentiellement par un utilisateur (même des en-têtes HTTP) directement dans une requête SQL sans les avoir assainies préalablement. Bonne continuation.
Sanguo Posté 15 Avril 2009 Auteur Posté 15 Avril 2009 Merci beaucoup pour votre aide. J'avoue m'être toujours focalisé sur des données que j'inscrivais en base mais jamais sur ce simple appel. Je vais veiller à faire les choses plus propres. Merci encore.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant