Clan-Matos.com : actualité et test matériel

L’injection de code SQL pour les nuls

L’injection de code SqL est une faille de sécurité existant sous diverse formes depuis l’existence des bases de données.

Dans cette page vous découvrirez comment internet fournis un support de jeux aux pirates de toutes sorte avec l’arrivée des sites dynamiques.

Si cet exemple vous présentent l’utilisation du formulaire d’une page d’identification, pour prendre l’identité d’un membre, ces méthodes sont aussi efficace pour lister des produits cachés, changer les données affiché sur une fiche produits.
Sur un site marchand on peu ainsi passer une commande de 1 ou 2 euros au lieux de 100 ou 200 .

Ces méthodes permettent également de prendre des droits à l’intérieur d’un site ou vous seriez connecté en tant qu’utilisateur légalement enregistré.

L’utilisation de ces méthodes sont assimilé à de l’effraction selon le code pénal .
Fournir de l’aide à sa réalisation est également interdit, je resterais donc dans le domaine du « documenté » c’est a dire ce que n’importe qui peu trouver en lisant la documentation d’un SGBD Système de gestion de base de données
Ces problèmes et ces solutions sont publique depuis l’existence des bases de données, il ne s’agit pas d’un bug, mais du fonctionnement normal de la base de donnée qui n’est même pas à remettre en cause !

SQL en sept lignes

SQL est un language de programation qui simplifie enormement les acces au données.
On l’utilise ainsi en francais : Donne moi tout le contenu de la base table_utilisateurs dont le nom d’utilisateur ( identifiant) est xxx et le mot de passe ( password ) est yyy
Ce qui se traduis par : SELECT * FROM table_utilisateurs WHERE identifiant = ‘xxx’ AND password = ‘yyy’ .

Falsifier son identité avec SQL

L’idée est simple .

Utiliser un champ de formulaire pour modifier la requête que vous effectuez.

Imaginez, sur une page de connexion que vous ayez deux champs à remplir sur un site pour vous connecter avec votre compte.

Fournir le nom xxx et le mot de passe yyy et cliquez sur connexion .
Le code qui s’exécutera demandera des données à la base SQL.

Exemple :
SELECT * FROM table_utilisateurs WHERE identifiant = ‘xxx’ AND password = ‘yyy’ .

Si xxx existe et a bien yyy comme mot de passe vous serez connecté sous le pseudo de xxx.

Méthode 1 : Cacher des champs

Remplissons le formulaire ainsi
identifiant xxx’ –
et
mot de passe rien ou n’importe quoi.

Le code qui s’exécutera demandera des données à la base SQL.
Exemple :
SELECT * FROM table_utilisateurs WHERE identifiant = ‘xxx’ — ‘ AND password = ‘yyy’ .

Les caractères – isolent la fin de la requête et donc vous êtes connecté en tant que xxx sans connaître le mot de passe.

Méthode 2 : Ajouter du code SQL

Remplissons le formulaire ainsi
identifiant rien ou n’importe quoi
et
mot de passe : ‘ OR 1

Le code qui s’exécutera demandera des données à la base SQL.
Exemple
SELECT * FROM table_utilisateurs WHERE identifiant = ” OR 1 — ‘ AND password = ‘yyy’ .

Ce qui fournira une liste complète de tous les utilisateurs.

Et la protection

Comme tous système que vous publierez sur internet, il reste toujours des failles exploitables.
Même si vous êtes sûr de votre sécurité gardez à l’esprit qu’il existe quelque part quelqu’un qui saura trouver votre faille.

Je cites quelques solutions très efficaces.

La plus efficace de toute : Limiter l’accès aux membres par leur IP fixe, en effet un bug dans votre formulaire d’identification ne serais plus un problème, vous pourriez même vous passer de formulaire d’identification.

Fixez des dimensions aux champs.
En effet obliger un nom d’utilisateur et un mot de passe à 8 caractères ( par example ) vous permet d’identifier immédiatement ceux qui ne fournissent pas deux fois 8 caractères et donc qui essayent de rentrer sur votre site.

Tester les champs, les champs vides sont également des sources de détection de hacker.

Interdisez l’utilisation des – et des ‘ à l’intérieur des identifiants et des mots de passe.
Si les chaînes fournies via le formulaire contiennent des – ou de ‘, c’est une tentative de piratage.

Utilisez le backslash ( antislash ) , avant de soumettre votre requête.
En effet :
SELECT * FROM table_utilisateurs WHERE identifiant = ‘\’ OR 1 — \’ AND password = ‘yyy’ .
Provoquera une erreur SQL

L’utilisation de chiffres, comme des chiffres est un problème.
Si le mot de passe ou le login est traité comme un chiffre et non une chaîne alphanumérique, il est possible de facilement passer du code SQL , même sans ‘

Une autre idée consiste à compter le nombre de réponse :
Si il y a plusieurs réponse c’est un hacker .

Et la solution de paranoïaque :
Détecter tout code SQL présent dans les chaînes identifiant et mot de passe.

Mais si il passe ?

Une des meilleurs idées que j’ai eu depuis que je fait de l’informatique consiste non plus à sécurisé mais a fournir de mauvaises informations à ceux qui arriveraient à passer .
Vous comprendrez aussi que le code SQL injecter permet d’obtenir un compte utilisateur et bien souvent le premier.

Ma solution est toute bête.

Le premier compte utilisateur contenu dans la base de donnée est le plus bas niveau de droit que possède mon site.
Le fait de se connecter avec ce compte, qui ne possede aucun droit déclenche immédiatement un envois de mail avec les informations qui me permettent de tracer le pirate informatique.

Mesdames et messieurs, internautes, modifiez vite l’index de votre compte administrateur qui est le premier dans votre site, si,si vérifiez .
On peux rentrer chez vous avec cette méthode , Je prend le premier compte .
login : rien ou n’importe quoi
et
mot de passe : ‘ OR 1 LIMIT 1 —
requête :
SELECT * FROM table_utilisateurs WHERE identifiant = ” OR 1 LIMIT 1 — ‘ AND password = ‘yyy’ .

Bon débuggage.

Présent dans : Disques, Logiciel, Rumeurs |

 

 

Vous pouvez aller directement à la fin et laisser un commentaire.
Les pings ne sont pas autorisés.




Ajoutez votre commentaire




Cher visiteur les commentaires sont modérés la main par un humain !

Google vient d'annoncer Chrome OS, un système d'exploitation
L'équipe de Neteco.com a mis la main sur une version beta de Windows
L'information est désormais confirmée : Apple installera sa
Créé par deux élèves de SUPInfo, Vidéo@volonté est un

Logiciel

Le Palm Pre, smartphone phare du constructeur américain spécialiste
Hier soir Apple a mis à disposition une nouvelle mise à jour
Logic Instrument, l'un des spécialistes français leaders d'informatique
Page Up, le spécialiste de la mobilité professionnelle lance un

Les sociétés Apple, Nintendo et Sony sont de nouveau trainées
La mention " bêta " ajoutée à un service ou un logiciel est
Plus que jamais, la bataille des navigateurs se joue sur le
Tout juste un an après sa commercialisation, le Samsung Player

Nos suggestions de visite parmi les articles les plus pertinent.

Derniers articles

Le bon plan Canon du moment chez Canon : la promo d'été avec 10% de remise sur les Digital Ixus 95
Et si Apple et son iPhone occupaient la place de Nokia sur le marché de la téléphonie en 2013 ? C'est
Maxell annonce la sortie de son Eco Drive, une clé USB écolo dotée d'une coque et d'un emballage
Pandigital, le numéro 1 des cadres photos numériques aux Etats-Unis, annonce en Europe sa gamme de
Prowl est une extension pour Growl, le logiciel d'alertes et de notifications, à installer sur iPod
Sony complète sa gamme d'ultraportables au Japon avec le Vaio W, un netbook classique, très "passe
De la forme d'une batterie externe, Mili Pro transforme votre iPod touch / iPhone en véritable projecteur
Comme vous le savez, GraverPasCher ( http://www.graverpascher.com ) essaye de vous proposer les meilleurs
Comme vous le savez, l'équipe de GraverPasCher est particulièrement sensible à l'Ecologie et à la
Vous tenez autant à votre sécurité au volant, qu'aux précieux points de votre permis de conduire