Injection SQL : le chemin le plus rapide pour hacker un site web

Quand un serveur web n’a que le port 80 d’ouvert (ce qui est généralement le cas sur tout site "sérieux"), vous n’obtiendrez rien de vos logiciels de recherche de failles. De plus, vous pouvez être sûr que l’admin patche correctement son système : les mises à jour sont automatisées de nos jours. Pour obtenir des informations, il ne reste alors plus que le web-hacking. L’injection SQL est une forme de web-hacking qui ne nécessite que le port 80 et peut marcher dans quasiment tous les cas en cherchant bien. Ces attaques concernent la base de données et le language applicatif (PHP, ASP, CGI…), pas le système ou le serveur web. Leur objet est le plus souvent de récupérer des données (mots de passe, emails) ou de modifier celles-ci (rendre le site inutilisable).

L’injection SQL consiste à envoyer des commandes non-autorisées au serveur par le biais de d’entrées utilisateur dans les pages web (formulaires). De nombreuses pages demandent des informations à l’utilisateur et exécutent des requêtes dans la base de données. Par exemple, quand vous entrez votre login et votre mot de passe pour accéder à un forum, le résultat de la publication du formulaire de saisie est d’interroger la base de donnée pour vérifier la validité de vos identifiants. Avec l’injection SQL, vous pouvez utiliser ces champs pour envoyer des commandes spécifiques à la base pour obtenir un résultat que vous avez choisi (afficher la liste des mots de passe par exemple).

Pour réaliser des injections SQL, vous n’avez besoin que d’un seul logiciel : un navigateur web. Cependant, attention à l’endroit d’où vous effectuez ces essais : ceux-ci seront loggés par le serveur, et l’utilisation d’un proxy est fortement recommandée.

Essayez de cherche des pages qui vous permettent de soumettre des données (page de login, page de recherche, formulaire de contact, etc.). Parfois, les pages HTML (statiques) utilisent la commande POST pour envoyer des paramètres à une page dynamique (PHP). Vous ne verrez pas de paramètres dans l’url, mais vous pouvez regarder le code source et chercher le tag "FORM ". Vous risquez de trouver ce type de code :

<FORM action=Recherche/recherche.php method=post>
<input type=hidden name=A value=C>
</FORM>

Tout ce qui se trouve entre les balises <FORM> et </FORM> recèle des paramètres qui sont potentiellement exploitables.

Si vous ne trouvez pas de page qui font appel à des entrées utilisateurs, essayez les pages qui passent des paramètres comme :

http://www.webinterdit.com/index.asp?id=7
(pas la peine d’essayer chez nous, nous avons des protections en place…)

Pour tester une éventuelle vulnérabilité, commencez par essayer le guillemet simple.

Entrez quelque chose comme :

hi’ or 1=1–

dans la case login, ou password, ou même dans l’URL. Par exemple :
 Login : hi’ or 1=1–
 Mot de passe : hi’ or 1=1–
 http://www.webinterdit.com/index.asp?id=hi’ or 1=1–

Si vous devez impérativement utiliser un champ avec le paramètre HIDDEN, téléchargez le source HTML puis modifiez l’URL et le champ masqué. Par exemple :

<FORM action=http://www.webinterdit.com/recherche/recherche.php method=post>
<input type=hidden name=A value="hi’ or 1=1–">
</FORM>

Si vous avez de la chance (et que le webmaster est suicidaire), vous entrerez sans login ni mot de passe.

Pour ceux qui connaissent SQL, il est évident que ce type de commandes est la porte ouverte à la base de données : si on peut exécuter 1=1, on peut tout demander. La puissance du langage SQL n’est plus à démontrer.

Pour éviter l’injection SQL, il suffit de filtrer les caractères utilisés par le langage SQL (slash, guillemets simples et doubles, pipeline, etc.) dès qu’il s’agit :
 - D’entrées utilisateurs
 - De paramètres d’URL
 - Valeur d’un cookie

Cette introduction à l’injection SQL est une approche simplifiée. La somme des techniques utilisables est immense, vous trouverez de nombreuses infos à ce sujet sur le web. Mais si vous testez un peu, vous verrez que de nombreux sites (même les plus grands) sont susceptibles d’être hackés. Personne n’est à l’abri d’un stagiaire qui oublie de protéger ses champs…


Ces billets pourraient aussi vous intéresser :

  1. Robotstats :tout savoir sur l’activité des spiders sur votre site
  2. Les Google gadgets désormais disponibles pour votre site web
  3. Acrobat aussi rapide que notepad ?
  4. Windows XP plus rapide : chargez le noyau en RAM
  5. Comment entrer facilement sur un site avec login sans s’inscrire ?

42 commentaires

  1. d°0D dit :

    Moi j’essaie toujours un petit "test1/test" (1)… on est souvent surpris du résultat !!

    (1) Dans le champ login, vous mettez test1 et dans password vous mettez test (ou admin/admin, ou titi/toto…) mais test1/test marchait très bien… vous pouvez aussi vous créer un tel compte sur les sites bidons qui demandent de s’authentifier pour un oui ou pour un non, comme ça quand je passerai dessus, ben ça marchera… =:^D

  2. dr-brain dit :

    si vous pouvez m’envoyer encore plus d’explications

  3. abc dit :

    et est ce que l’administrateur c’est qu’on est rentré dans le site?

  4. netking dit :

    Par les logs du serveur web, oui bien sûr…

  5. alex dit :

    bonjour,
    alors moi mon souci c est que jai un gars qui joue sur un jeu en réseau et qui s amuse
    avec ses scripts pour evolué plus vite que tout le monde , c est un personnage détesté par toute la communauté du jeu en + monsieur se permet d insulté proprement une très grande majorité de joueurs de raciste et j en passe
    si il y a une pers qui si connais pour récupéré ses accès, son pseudo je l ai mais pas l email de son inscription , je ne veut pas son compte mais juste lui detruire ce qu il a eu grace a la fraude

  6. Anonymous dit :

    Pour aprendre le php, le C/C++, le PHP, le HTML… vous pouvez aller sur le site du zéro :

    http://www.siteduzero.com/

    100% gratuit ;-)

  7. Sniker dit :

    Bon, les gènies en herbes, je vous lance un super défi, si vous parvenez a hacker un site de rencontre et le désactivé pour minimun 48 heures, je vous paie le Champagne.
    Le site a hacker >>> http://www.rendez-vous.be
    Allez tous au boulot et le premier qui gagne, la bouteille…

  8. Sniker001 dit :

    Je constate que vous êtes des hackeurs en puissance, MDDDDRRRRRRRRRRRR
    Je vous mets un défi, essayer de bloquer ce site rendez-vous.be
    Et, si vous réussissez ce que je doute fortement, je vous paie le Champagne

  9. Sylvain dit :

    si vous pouvez hacker ce site :

    http://www.nbaevolution.com

    Je vous serais reconnaissant !

  10. pol29 dit :

    moi j’aimerais voir si vous pouvez hacker se site :

    http://www.chat-land.org/

  11. Franchement çà fait rire quand meme… enfin bon..

    <pseudo> si tous les cons volaient on ne verrait plus le ciel
    <calopsfr> ça dépend
    <calopsfr> toi t’aurais une bonne vue

  12. damien dit :

    lu site de mes devoirs -_-" essayer de le hacker pour entrainement modifier les devoir ^^ college-colette.fr/index…. reponder moi sur damien.dubois83@hotmail.fr mici

  13. jo dit :

    http://www.hbgeckos.com/ site qu’on ne peut hacker!!!impossible.

  14. webstorm dit :

    Quelques règles simples pour contrer toutes attaques de ce genre :

    1 – Vérifier que l’utilisateur passe bien par votre formulaire (mise en place de traceur en champ caché ds le formulaire)
    2 – un premier contrôle des saisies en javascript coté client qui filtre tous les caractères indésirables (javascript, HTML ou autres…)
    3 – un deuxième contrôle coté serveur en PHP qui nettoie les données envoyées (Htmlentities par exemple ou à l’aide des expressions régulières)
    4- préférer les formulaires en POST plutot que GET
    5- Pour une sécurité encore plus poussée il est possible d’utiliser les modules de sécurité sur la configuration du serveur apache

  15. test1 dit :

    Bonjour,
    qu’en est-il c’est magic_quotes_gpc est activée dans php.ini

  16. bisbiscaillou dit :

    Avis à celui qui arrivera à rentrer dans http://www.damesdispuutbeton.nl/...

    Qu’il me previenne !!!!

    bisbiscaillou@yahoo.fr

  17. Martagascos dit :

    je compren rien on pouré mexpliker en plus simple

  18. tony dit :

    site de mon prof, je c pa hacké dc bn voila….merci!

    htt://perso.orange.fr/chimphys

    jaten vo rep!

  19. Ghost dit :

    PUTAIN… on vous apprend comment securisé une injection sql et vous (surtout tony…) veut s’en servir pour faire de la merde… hacker le site de son prof… ça te servira a quoi? montrer que t’es un vrai con?

    désolé je m’egare … veuillez m’excusez pour ce language bestial et primaire mais fallait que ça sorte…

  20. Killyoh dit :

    C’est tellement plus rigolo XD

  21. chaity dit :

    qu ‘est qu’un sql je comprend rien

  22. doom dit :

    Pourquoi tant de haine a vouloir hacké des sites d’informations ou autres !!
    je trouve cela lamentable !!

    35-29= ??

  23. bilou dit :

    Avis aux hackers…
    J’ai besoin d’aide pour hacker un site qui en vaut la peine et oui parfois ca en vaut la peine.

    Un site d’enfoirés d’arnaqueurs qui est le sujet de pas mal de conversations sur le net.

    Pourquoi demander ça? Car mon amie a été l’une des victimes et que la justice ne sait rien y faire…

    Quequl’un a envie de faire une bonne action? Contactez moi !

  24. wolfmic dit :

    pour cela, il te faut des chapeaux vert :P

  25. dsa dit :

    jai hakcer runescape mouer pi g 60000000k pour seux ki connaisent le jeux

  26. Max007 dit :

    est ce que vous voulez hacker des sites avec ces trucs hhhh vraiment ça me fait rire
    écouter monsieurs si vous voulez devenir des hackers,apprenez d’abord le C/C++ metriser ces 2 language et vous devez surtout metriser le PHP/ASP et le language SQL.pour hacker un site on doit lire sa source si elle est dispo sur le web.comme PHPBB ou PHPCC ou Xoops … sont des scriptes utilisé par des sites.telechargez ces sources lisez les et essayez de trouvé des vulnérabilités qui existe biensûr comme les faille XSS ou INCLUDE ou INJECTION SQL … mais sans que vous soyez fort en programmation c’est impossible.croyez moi la meilleur chose dans la vie c’est quand on trouve une faille sur un system ou dans un script.il y ‘en a bcp.comme les Buffer overlows les Buffer overrun … (depassement de memoire) et n’oubliez pas que HACKER != (CRACHER == pirate) un hacker ne fera jamais du mal à quelqu’um mais il est un psycopath de la sécurité informatique,le hacker aime la detection et la sécurisation des failles informatique c’est tout.et à plus et merci de m’avoir supporté.et rappeler vous de ce nom MAX007 c’est le drapeau du hackers maroccains

  27. Akira37 dit :

    Salut,
    J’ai besion d’aide pour un site.
    Le mec qui tient ce site est une crapule il prend des commandes encaisse les cheque mais n’envoi pas les produits.
    De plus dans son forum, à chaque fois qu’une personne poste une message un peu degradant pour son entreprise il le vir.
    Mais par contre il garde bien tout les message glorieu.
    SVP il faut agir plein de personnes se font arnaqués!
    J’en suis moi meme victime.
    Je fairai bien le hack moi meme mais je suis novice en la matiere donc cela reste tres risqué.
    Cordialement benjamin
    @ du site http://www.isathor.fr/

  28. vegeta77 dit :

    akira37 le site ke ta passer a la faille XSS (jai rien di mais fait pas n’importe quoi …)

  29. Ca fait 6!!!!
    Ouaaaaaaaaais je suis trop fort!!!!

  30. hamza dit :

    si vous hackez le site suivant jen serai reconnaissant http://www.dofus.com il a un niveau de securité trop haut que meme des scanner de failles ne peuvent vous aider …

  31. Ciri dit :

    Voila j’aurais voulus savoir si il y avait moyen à partir d’un site de retrouver l’adresse mail d’un des utilisateurs.
    Un de mes pot a créé un compte bidon sur le site de recontres et j’ai parier avec lui que je parviendrai a retrouver son adresse mail via le site.Est ce que c’est possible ou bien mon pari est perdu d’avance ?

  32. netking dit :

    Euh à priori aucune chance… Sauf si tu arrives à deviner son pseudo/mot de passe.

  33. Ciri dit :

    En essayant d’accèder a la base de donnée du site c’est possible ?

  34. Ciri dit :

    Et est ce qu’il y aurait moyen d’acceder au serveur du site cible ?

  35. PFE dit :

    Bonjour
    j’ai un projet de fin d’étude sur les injections sql si quelqu’un a des documatations veuillez m’aider s’il vous plait.
    Merci d’avance.

  36. Loumis dit :

    Salut à tous!

    J’suis jeune comédien herbe et pas de ronds pour tous ces sites de casting payants et j’aimerais savoir si quelqu’un aurait une idée pour acker ces sites.Merci beaucoup!

    Loumis

  37. we we we dit :

    Bonjour il faut mettre quoi dans le nom dutilisateur et login ?,

  38. Death The Kid dit :

    Totalement aberré à la vue de tous ces commentaires pour hacker un site dont ils avaient la rage de l’existence de ce dernier. Si des articles de ce type existent, c’est pour aider à combler les failles éventuelles et pas pour s’en servir. Sinon, je trouve débile de publier un moyen de hack sur le net, sur un site ouvert à tous, par le simple fait qu’a là première visite d’une webmaster « normal », ce dernier ira partager ceci et combler ses failles.

    Mettons ça à part, merci pour cet article vraiment pas mal, et je pense qu’il faut quand même faire remarquer qu’il est aussi possible de contrer ces failles via la fonction PHP mysql_real_escape_string() pour les données string, et convertir -quand il nous faut seulement un paramètre numérique- le contenu de la variable avec la fonction intval(), qui renverra 1 si la donnée est différente d’un nombre -et donc, pas vide (not NULL)-, ou renverra 0 si la variable est vide (NULL).

    Ciaossu~ !

  39. netking dit :

    Tu as raison mais l’article date de 2005… Autre temps, autres mœurs… De nos jours, la protection des champs est la norme.

  40. Death The Kid dit :

    D’accord avec toi, mais il ne faut tout de même pas oublier les sites de nouveaux webmasters qui ne sont pas toujours informés de l’importance de la sécurité. Même aujourd’hui, je rencontre encore des sites pleins de failles même si le site en lui même est de qualité.

    M’enfin, c’est vrai que maintenant les plus confirmés et sites à grand public ont rajouté cette préoccupation sur leur liste ;)

Poster un commentaire