Comment exploiter une faille SQL Injection
|
27-12-2011, 14h54
(Modification du message : 01-01-2012, 23h52 par Di0Sasm.)
Message : #18
|
|
Adns
Newbie Messages : 4 Sujets : 1 Points: 0 Inscription : Dec 2011 |
Comment exploiter une faille SQL Injection
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 |
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Comment est exploitée une faille XSS | CyberSee | 37 | 3,391 |
01-09-2015, 16h07 Dernier message: CyberSee |
|
[Tuto]Faille CRLF | OverDreams | 15 | 1,235 |
18-06-2013, 12h33 Dernier message: Hypnoze57 |
|
[Faille WEB] LFI | Swissky | 10 | 852 |
25-02-2013, 22h04 Dernier message: InstinctHack |
|
[Faille Web] Full Path Disclosure | Swissky | 4 | 565 |
07-12-2012, 08h52 Dernier message: Shirobi |
|
Comment utiliser Metasploit | EpicOut | 4 | 415 |
15-09-2012, 20h47 Dernier message: Swissky |
|
Comment fonctionne les attaques de type IP-Spoofing | Apophis | 4 | 601 |
18-02-2007, 12h38 Dernier message: shutdownfuri |
Utilisateur(s) parcourant ce sujet : 7 visiteur(s)