De plus dans la petite approche que j'en ai fait les injections SQL permettent de passer le stade validation par mot de passe mais comment cela permet-il de récupérer celui-ci ?
Très souvent, les développeurs retournent les informations de l'utilisateur au moment de la connexion avec une requête du style :
SELECT userid, username, password, grade, code FROM user_tab where username = '' and password = ''
.
Et si lors de l'injection SQL, l'attaquant introduit la chaine or 1 = 1 -- , il en résulte le résutat suivant:
SELECT userid, username, password, grade, code FROM user_tab where username = '' and password = '' or 1 = 1 --
. Avec une telle requête sur un explorateur passoir comme IE, l'attaquant pourra aisement récolter son miel.
Partager