Salut,
j'utilise un plugin dans squirrelmail qui permet de changer le password des utilisateurs ie permettre aux utilisateurs de mon serveur mail de changer leur password, ce plugin utilise un executable en C pour faire le changement de password dans le fichier shadow,
mon problem est le suivant: j'ai lu le code C, l idée est simple récupérer le nom de l utilisateur, l'ancien pass et le nouveau pass puis
il récuépre l'ancien pass en crypté dans le fichier shadow et il fait ceci
WOld_pw = ancien pass crypté dans le fichier shadow
Old_pw = ancien pass tapé par l'utilisateur
j'ai remarqué que le pass lu dans le fichier shadwo et celui généré pas la fonction crypt ne sont pas identiques en tout cas la moitié du pass n'est pas la meme, et du coup le changement de mot de passe ne peut s'effectuer.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(strcmp(WOld_pw, (char *)crypt(Old_pw, WOld_pw)) != 0) { }
exemple:
voici le pass d'un utilisateur lu dans le fichier shadwo:
$2a$05$h1DRGs7./mpS3oRgTMlDduKISf2WopWNzFgvZdVHy61/ybLp8CTmi
et voici celui generé par la fonction crypt:
$2a$05$h1DRGs7./mpS3oRgTMlDdu6x214J/eA3lpVT0CofKnM6cl7ZNPW7i
et c toujours la meme chose pour tout les utilisateurs, une moitié identique l'autre non.............
merci
Partager