Injection SQL
Kiira1000
Messages postés
34
Statut
Membre
-
Kiira1000 Messages postés 34 Statut Membre -
Kiira1000 Messages postés 34 Statut Membre -
Bonjour (:
Je suis entrain de tester la sécurité du site que je gère avec des potes.
En particulier les injections SQL.
Donc j'ai commencé par le basique, qu'on trouve sur le net: 'OR=1=1', #, ect... et tout était sécurisé. Donc pas de problèmes.
Seulement, quand on entre par exemple 'OR=1=1', il y a un message d'erreur qui s'affiche, comme quoi il y a une erreur à la ligne 1, et me renvoi la requête.
Je me suis dit qu'à priori ça ne représentais pas de danger. Mais avec ce modèle, on peut créer une requête personnalisée... et le site s'en fout! J'ai testé avec des variables au pif, mais il ne trouve pas d'erreur, il renvoi juste qu'il ne connait pas la variable...
Est-ce que cela peut représenter un danger potentiel? Comment trouver une façon de l'exploiter et comment régler le problème, si c'est dangereux?
Merci...
Je suis entrain de tester la sécurité du site que je gère avec des potes.
En particulier les injections SQL.
Donc j'ai commencé par le basique, qu'on trouve sur le net: 'OR=1=1', #, ect... et tout était sécurisé. Donc pas de problèmes.
Seulement, quand on entre par exemple 'OR=1=1', il y a un message d'erreur qui s'affiche, comme quoi il y a une erreur à la ligne 1, et me renvoi la requête.
Error Number: 1064 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 '=1=1'' at line 1 SELECT name FROM playerProfile WHERE name='Nemesis' AND passphrase=''OR=1=1' Filename: /var/www/-----/-------/--------.php Line Number: 133
Je me suis dit qu'à priori ça ne représentais pas de danger. Mais avec ce modèle, on peut créer une requête personnalisée... et le site s'en fout! J'ai testé avec des variables au pif, mais il ne trouve pas d'erreur, il renvoi juste qu'il ne connait pas la variable...
Error Number: 1054 Unknown column 'admin' in 'where clause' SELECT name FROM playerProfile WHERE name='Nemesis' AND passphrase='blabla' AND admin='1' Filename: /var/www/-------/------/-----.php Line Number: 133
Est-ce que cela peut représenter un danger potentiel? Comment trouver une façon de l'exploiter et comment régler le problème, si c'est dangereux?
Merci...
A voir également:
- Injection SQL
- Logiciel sql - Télécharger - Bases de données
- Jointure sql ✓ - Forum MySQL
- Sql lister les tables ✓ - Forum Programmation
- Depart du camion du point d'injection shein - Forum Consommation & Internet
- Sql (+) - Forum Programmation
2 réponses
Bonjour
Puisque c'est ton sujet, as-tu compris comment marchait l'injection ?
OR=1=1 ne veut rien dire et c'est normal que ça provoque une erreur de syntaxe. Ce ne serait pas plutôt OR 1=1 ?
De même, le 'admin=1' ne peut provoquer un danger que si tu as réellement un champ qui s'appelle 'admin'. Si tu n'en as pas, tu obtiens le message que tu vois.
Il y a bien un danger potentiel, mais il est très facile à éliminer si tu comprends d'où vient le problème. Il suffit d'utiliser la fonction mysql_real_escape_string si tu travailles avec les fonctions mysql_, ou bien d'utiliser les requêtes préparées avec paramètres si tu utilises PDO.
Puisque c'est ton sujet, as-tu compris comment marchait l'injection ?
OR=1=1 ne veut rien dire et c'est normal que ça provoque une erreur de syntaxe. Ce ne serait pas plutôt OR 1=1 ?
De même, le 'admin=1' ne peut provoquer un danger que si tu as réellement un champ qui s'appelle 'admin'. Si tu n'en as pas, tu obtiens le message que tu vois.
Il y a bien un danger potentiel, mais il est très facile à éliminer si tu comprends d'où vient le problème. Il suffit d'utiliser la fonction mysql_real_escape_string si tu travailles avec les fonctions mysql_, ou bien d'utiliser les requêtes préparées avec paramètres si tu utilises PDO.