Comment exploiter une faille SQL Injection - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Tutoriels (https://dev.n-pn.fr/forum/forumdisplay.php?fid=15) +--- Forum : [Tutoriel] Hacking (https://dev.n-pn.fr/forum/forumdisplay.php?fid=43) +--- Sujet : Comment exploiter une faille SQL Injection (/showthread.php?tid=1199) |
Comment exploiter une faille SQL Injection - AntoLeNice - 10-06-2011 humm, si les injections SQL ne fonctionne pas, tout se que je vois, c'est que si le site utilise des cookies, tu peux essayer de les modifier pour changer la connexion au site. Sinon, je vois pas trop, Cyber pourrait peut-être en dire plus. Comment exploiter une faille SQL Injection - mercurial17 - 27-12-2011 Merci ! Je ne connais pas très bien le PHP et pourtant j'ai compris tout ton tuto, c'est super bien expliqué. Par contre j'ai une question : Il me semble que cette faille est très connue donc je voulais savoir s'il existait encore des sites qui présentaient cette faille ? Comment exploiter une faille SQL Injection - Adns - 27-12-2011 Bonjour, L'article est plutôt clair et précis Si je peux me permettre quelques remarques Citation :Prenons exemple sur un formulaire d’authentification, puisque c’est là que ce genre d’exploitation est la plus intéressante. Il y a aussi une autre grosse utilisation de ce genre de faille. C'est de pouvoir afficher des données qui ne nous sont pas accessibles. Je suis sur que toute personne ayant déjà regardé de plus près une URL a déjà vu ce genre de chose : Code : http://site.com/article.php?id=255 Et bien ici aussi il existe une potentielle faille. Voyons un code vulnérable et assez simpliste: Code PHP : <?php Ce code devrait parfaitement fonctionner jusqu'à ce qu'un petit malin vienne jouer avec la variable $id qui n'est pas sécurisé. Pour vérifier que faille il y a il suffit de tester le caractère ' a la fin du chiffre qui représente l'id de l'article. Exemple : Code : http://site.com/article.php?id=255' Si une erreur se produit lors de l'affichage de la page cela signifie que la faille existe. il ne reste plus qu'à l'exploiter. Pour cela il faut jouer avec un mot clé de SQL qui est UNION ALL. Dans une requête SQL UNION ALL permet d'obtenir toutes les données de plusieurs tables. La première étape lors de ce genre d'exploitation consiste à "brute-forcer" pour connaitre le nombre de champ utilisé dans la requête à modifier. select titre, contenu from article Ici je pars du principe que la faille se trouve sur un CMS et donc que l'on a accès à la structure de la table. Lorsque ce n'est pas le cas il existe différentes manières pour les obtenir... Revenons en à notre brute-force et passons à la pratique. Code : Test 1 : http://site.com/article.php?id=0' union all select 1 from article -- Explications :
Cette requête nous renverra une erreur car la requête initiale utilise 2 champs : Titre et contenu. Code : Test 2 : http://site.com/article.php?id=0' union all select 1,2 from article -- Bingo !! Cette requête affichera dans la page 1 à la place du titre et 2 à la place du contenu Dans ce cas là ce fut plutôt rapide car il n'y avait que 2 champs, mais cela peut-être beaucoup plus long s'il y a plus de champs. Une fois arrivé ici il suffit de remplacer les 1 et 2 par les données sensibles qui nous intéressent comme les identifiants de connexion d'un admin Exemple : Code : http://site.com/article.php?id=0' union all select user,password from users -- En espérant avoir été clair Adns Comment exploiter une faille SQL Injection - Luxerails - 27-12-2011 mercurial17 a écrit :Il me semble que cette faille est très connue donc je voulais savoir s"il existait encore des sites qui présentaient cette faille ? Je dirais que les injections SQL réprésentent 90% des failles web Comment exploiter une faille SQL Injection - mercurial17 - 29-12-2011 ah tant que ça ?! merci d'avoir répondu RE: Comment exploiter une faille SQL Injection - ThibauT - 10-06-2012 Bravo pour ton tutoriel qui explique une faille pas si facile que ça à exploiter, de manière très ludique. D'autant plus que cette faille est très présente. RE: Comment exploiter une faille SQL Injection - load@data - 15-09-2012 Merci, Mais il faut savoir que le serveur side, peut reconnêtre une requête corrompue et d'autre non donc je vous laisse avec un petit choixde scripts à injecter dans le champs : Citation :') OR ('a' = 'a Ceci sont les plus connues ! Load, RE: Comment exploiter une faille SQL Injection - LeuhVa - 18-06-2013 Plop ! J'ai up un article de Nikoskoda(hzv) qui offre un autre tour d'horizon sur les sql ! ça vaut l'coup d'oeil ! c'est là ! RE: Comment exploiter une faille SQL Injection - ark - 18-06-2013 Merci LeuhVa pour le partage, ça a l'air vraiment complet comme article :) RE: Comment exploiter une faille SQL Injection - WizOut - 18-06-2013 J'ai un autre article enfin post pour compléter le tous pour bypass les sécurités http://top-hat-sec.com/forum/index.php?topic=2049.0 RE: Comment exploiter une faille SQL Injection - Ambrosios - 02-12-2014 Merci CyberSee, encore un super tuto J'utilise PDO avec des fonctions prepare() et execute() pour gérer les variables. Ce risque d'injection SQL est-il toujours présent ? RE: Comment exploiter une faille SQL Injection - gruik - 03-12-2014 oui les injections sql ça existe toujours et ça marche bien, attention au déterrage de topic, le dernier post date de +1.5 an tout de même (et on a pas revu CyberSee depuis près d'un an accessoirement) RE: Comment exploiter une faille SQL Injection - CyberSee - 04-09-2015 "coucou" accessoirement lol Au risque de me répéter, la règle du déterrage de topic ne s'applique pas à la zone des tutos ;-) RE: Comment exploiter une faille SQL Injection - gruik - 05-09-2015 "coucou lol" hésite pas à écumer tous les topics du siècle dernier surtout, c'est super utile RE: Comment exploiter une faille SQL Injection - CyberSee - 10-09-2015 C'est "utile" dans l'optique que le dernier message posté ne soit pas un découragement pour les questions sur ce tuto où n'importe quel autre enfaite ;-) |