Niveau "High"

Un changement au niveau de l’interface pour ce niveau « High ». Une pop-up est disponible pour insĂ©rer l’objet de la recherche et le rĂ©sultat s’affiche sur la fenĂȘtre principale :

L'injection du caractÚre "'" retourne une erreur générique :

Le fait que l'erreur soit gĂ©nĂ©rique n'est pas vraiment gĂȘnant, car cela indique bien que le caractĂšre spĂ©cial semble ĂȘtre traitĂ© comme du code et non comme faisant partie de la donnĂ©e. L'injection semble donc ĂȘtre toujours possible :

6' UNION SELECT 1,2 -- 

Récupération des noms des tables :

'6' UNION SELECT table_name,2 FROM INFORMATION_SCHEMA.tables WHERE table_schema = 'dvwa' -- 

Récupération des noms des colonnes :

'6' UNION SELECT column_name,2 FROM INFORMATION_SCHEMA.columns WHERE table_schema = 'dvwa' -- 

Puis finalement des noms et empreintes des mots de passe des utilisateurs :

'6' UNION SELECT user,password FROM dvwa.users --  

L'erreur gĂ©nĂ©rique n'augmente pas rĂ©ellement la difficultĂ© du challenge par rapport au niveau "Low" mais la prĂ©sence d'une seconde fenĂȘtre peut empĂȘcher les outils automatisĂ©s de fonctionner.

L'injection présente ici est une injection nommée "second ordre", et sans l'indiquer explicitement à l'outil il peut ne pas réussir à l'exploiter.

Sous SQLmap il est possible d'utiliser l'option --second-order pour ce type d'injection

Une fois fait, la derniÚre étape reste de cracker les hash md5 (32 caractÚres) des mots de passe en utilisant par exemple crackstation.net :

DerniĂšre mise Ă  jour