Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
ndhquals2015:secureauth [2015/04/05 14:50] Spl3en |
ndhquals2015:secureauth [2017/04/09 15:33] (Version actuelle) |
||
---|---|---|---|
Ligne 120: | Ligne 120: | ||
On essaye donc d'injecter ''admin:password\x0A\x0D'' dans l'username, ce qui nous donne : | On essaye donc d'injecter ''admin:password\x0A\x0D'' dans l'username, ce qui nous donne : | ||
- | username = GET admin:password\x0A\x0D:name | + | username = GET admin:password\x0A\x0D:name (le :name n'est pas interprêté) |
- | password = GET admin:password\x0A\x0D:password | + | password = GET admin:password\x0A\x0D:password (le :password n'est pas interprêté) |
Le serveur nous renvoie : | Le serveur nous renvoie : | ||
Ligne 136: | Ligne 136: | ||
Comme attendu, le serveur affiche l'username que nous avons remplacé par son password. Nous obtenons donc le ''sha256(admin_password)'' qui est ''837a135ad3ccb1978f169aa62a62a028b76ec42b2284791bd4703421ec050529''. | Comme attendu, le serveur affiche l'username que nous avons remplacé par son password. Nous obtenons donc le ''sha256(admin_password)'' qui est ''837a135ad3ccb1978f169aa62a62a028b76ec42b2284791bd4703421ec050529''. | ||
- | Pour rappel, le packet contenant le password est formé ainsi : | + | Pour rappel, le packet envoyé au serveur contenant le password est formé ainsi : |
packet = "AUTH %s|%s" % (username, sha256(sha256(authtoken).hexdigest() + challenge).hexdigest()) | packet = "AUTH %s|%s" % (username, sha256(sha256(authtoken).hexdigest() + challenge).hexdigest()) |