Je viens à l'instant d'installer l'extension Firefox SQL Inject Me, créé par la compagnie Security Compass, qui sert à tester les vulnérabilités d'une page web au SQL injection. Cet outil fait parti de la suite Exploit Me qui comprend aussi un testeur contre le XSS et les accès aux ressources (ce sont toutes des extensions indépendantes pour Firefox).
L'extension SQL Inject Me permet de soumettre un jeu de tests pré-construit pour voir comment le site réagira. Si la programmation présente des faiblesses, on apercevra les résultats des erreurs 500, l'état des redirections, etc. Dans mon cas, j'ai testé le formulaire de login d'un CMS en ASP pour voir ce que ça dénicherait (beaucoup de sites en ASP sous IIS présentent des lacunes en sécurité; ce sont habituellement les plus vulnérables, les plus bavards et les plus faciles à infiltrer) :
(cliquez pour agrandir)
Ce que j'ai appris ? Qu'il ne fallait entrer que la chaîne 1' OR '1'='1 dans le champ nom d'usager et mot de passe, ou encore uniquement ' OR username IS NOT NULL OR username = ' dans le champ du nom d'usager pour réussir à me connecter à l'interface de gestion du site web. Et j'ai accès à absolument tout!
Heureusement pour eux, je ne suis pas du genre à profiter de l'opportunité pour saccager leurs données. Tout ce qui m'intéresse, c'est de tester les vulnérabilités existantes et savoir comment les corriger. Mieux vaut apprendre les techniques de SQL injection si on veut être en mesure d'implémenter correctement le code qui permet de les éviter.
C'est dommage pour les développeurs et leurs clients car ils courent un risque énorme puisque leur plateforme centrale est utilisée pour gérer les données de nombreux sites... Qui sait, le prochain à y pénétrer sera peut-être plus mal intentionné que moi ?
jeudi 27 août 2009
1 réponse à "SQL Inject Me"
S'abonner à :
Publier des commentaires (Atom)
merci pour ces infos d'utilisation. Mais je ne comprends pas un truc:comment as-tu su qu'il n'était pas nécessaire d'entrer ' OR username IS NOT NULL OR username = ' dans le champ mot de passe pour accéder au site?