iGalerie

Vous n'êtes pas identifié(e).

#1 26-04-2012 00:10:20

gilisa
Membre
Lieu : Région parisienne (sud)
Inscription : 23-04-2012
Messages : 138
Site Web

Mot de passe

Bonjour,

D'avoir codé le cryptage des mot de passe me parait une faille de sécurité.
Il est bien plus sérieux de laisser MySQL crypter un mot de passe avec la directive SQL PASSWORD, pas beaucoup de chance de pourvoir le décrypter alors qu'en ayant vos sources et en sachant correctement sniffer le réseau on recupere tous les mots de passe de tous les utilisateurs et de l'administrateur.

Cordialement.
GG.

Hors ligne

#2 26-04-2012 12:02:53

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 3 977
Site Web

Re : Mot de passe

Salut,

gilisa a écrit :

D'avoir codé le cryptage des mot de passe me parait une faille de sécurité.

J'attends avec impatience ta démonstration mettant en évidence cette "faille de sécurité".


gilisa a écrit :

Il est bien plus sérieux de laisser MySQL crypter un mot de passe avec la directive SQL PASSWORD

La documentation de MySQL est on ne peut plus clair sur la fonction PASSWORD() :

MySQL Reference Manual a écrit :

Note : La fonction PASSWORD() est utilisée durant l'identification au serveur MYSQL. Il est recommandé de ne pas l'utiliser pour vos applications. Utilisez plutôt MD5() ou SHA1().

gilisa a écrit :

pas beaucoup de chance de pourvoir le décrypter alors qu'en ayant vos sources et en sachant correctement sniffer le réseau on recupere tous les mots de passe de tous les utilisateurs et de l'administrateur.

iGalerie, comme quasiment toutes les applications de ce type, utilise un algorithme de hachage (HMAC-SHA1 en l'occurrence). Cet algorithme génère un "hash", une empreinte, qui est stockée en base de données. Même si cette empreinte tombe entre les mains d'un "pirate", il lui sera impossible de retrouver le mot de passe, et ce, même en ayant le code source d'iGalerie.

Pourquoi ? Parce qu'un algorithme de hachage est à sens unique, il n'est pas possible de faire l'opération inverse, contrairement à un algorithme de cryptage/décryptage. HMAC-SHA1 génère toujours une chaine d'une longueur de 40 caractères, ni plus ni moins, et ce, quelque soit la longueur de la chaine d'entrée. Il est par exemple possible de créer une empreinte de 40 caractères d'un livre entier contenant des millions de caractères. Mais il est évidemment impossible de retrouver ce livre entier à partir de 40 caractères !

La seule solution qui permettrait de retrouver un mot de passe à partir d'une empreinte serait d'utiliser une "rainbow table". Or ce type de table voit son efficacité considérablement réduite dès lors que l'on génère l'empreinte du mot de passe en utilisant du "sel" qui, dans le cas d'iGalerie, contient notamment deux chaines générées aléatoirement au moment de l'installation et stockés en deux endroits différents (fichier config/conf.php et table "config" en base de données) :

public static function hashPassword($pwd, $key)
{
    $key = CONF_KEY . '|' . $key . '|' . self::$config['key'];
    return hash_hmac('sha1', (string) $pwd, (string) $key);
}

Donc, en plus du code source, il faudrait que le pirate se procure ces deux chaînes, donc qu'il ait un accès total à la fois au système de fichier et à la base de données (mais dans ce cas, le pirate pourra probablement faire tout ce qu'il veut...), ou bien qu'il exploite des failles de sécurité pour se procurer ces chaînes (ce qui relèverait de l'exploit !).

Et quand bien même un pirate réussirait, par je ne sais quel miracle, à se procurer le code source + les empreintes + le sel de ces empreintes, les "rainbow tables" seraient de toute façon impuissantes car, vu comment ces empreintes sont construites, la probabilité qu'elles puissent trouver un bon mot de passe correspondant à ces empreintes est extraordinairement faible (pour ne pas dire nul), et ce d'autant plus que l'utilisateur aura choisi un mot de passe fort.

Bref, je ne vois pas où se trouve la faille de sécurité ici, étant donné, bien évidemment, qu'aucun mot de passe n'est jamais communiqué à qui que ce soit ou stocké où que ce soit en clair.

Hors ligne

#3 26-04-2012 17:15:43

gilisa
Membre
Lieu : Région parisienne (sud)
Inscription : 23-04-2012
Messages : 138
Site Web

Re : Mot de passe

Bonjour,

David a écrit :

Bref, je ne vois pas où se trouve la faille de sécurité ici, étant donné, bien évidemment, qu'aucun mot de passe n'est jamais communiqué à qui que ce soit ou stocké où que ce soit en clair.

Je ne peux pas résister a sourire quand vous affirmez cela, les 9/10 de mes clients ont leur mot de passe inscrit sur un post-it quand la sécurité est fort le post-it se trouve sous le clavier, quand la sécurité est faible il est collé sur l'écran en bas a droite. smile

Maintenant chacun sa conception de la sécurité informatique, personnellement je préfère utiliser la base de données pour les mot de passe, avec FluxBB c'est ce qui est fait et ailleurs aussi ... smile

--
cordialement.
GG.

Hors ligne

#4 26-04-2012 18:21:22

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 3 977
Site Web

Re : Mot de passe

gilisa a écrit :

Je ne peux pas résister a sourire quand vous affirmez cela, les 9/10 de mes clients ont leur mot de passe inscrit sur un post-it quand la sécurité est fort le post-it se trouve sous le clavier, quand la sécurité est faible il est collé sur l'écran en bas a droite. smile

Le fait que des utilisateurs écrivent leur mot de passe quelque part est un autre problème. Quand je dis qu'aucun mot de passe n'est stocké en clair, je parle de ce que fait l'application, pas de ce que fait l'utilisateur.


gilisa a écrit :

Maintenant chacun sa conception de la sécurité informatique, personnellement je préfère utiliser la base de données pour les mot de passe, avec FluxBB c'est ce qui est fait et ailleurs aussi ... smile

FluxBB utilise exactement le même principe qu'iGalerie : stocker en base de données un hash du mot de passe. La table "users" de FluxBB contient une colonne "password" de type varchar(40), donc rien qu'avec cette information on peut déjà deviner que cette application utilise très probablement SHA1, ce qui se vérifie ensuite aisément en regardant le code (login.php)...

Hors ligne

#5 28-04-2012 11:04:50

gilisa
Membre
Lieu : Région parisienne (sud)
Inscription : 23-04-2012
Messages : 138
Site Web

Re : Mot de passe

Bonjour,

David a écrit :

FluxBB utilise exactement le même principe qu'iGalerie : stocker en base de données un hash du mot de passe. La table "users" de FluxBB contient une colonne "password" de type varchar(40), donc rien qu'avec cette information on peut déjà deviner que cette application utilise très probablement SHA1, ce qui se vérifie ensuite aisément en regardant le code (login.php)...

Je ne pense pas, à l'aide PHPMYADMIN on peut changer le mot de passe d'un utilisateur a l'aide d'une requete SQL ce ne me semble pas être le cas pour iGalerie. A l'aide PHPMYADMIN si on essaie de changer le mot de passe dans la base de iGalerie on ne peut pas avec le style de iGalerie. Les mot de passe cryptés pas SQL commencent toujours pas un caractère * dans MySQL visualisé a l'aide de PHPMYADMIN. smile

--
Cordialement.
GG.

Hors ligne

#6 28-04-2012 12:26:44

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 3 977
Site Web

Re : Mot de passe

gilisa a écrit :

Les mot de passe cryptés pas SQL commencent toujours pas un caractère * dans MySQL visualisé a l'aide de PHPMYADMIN. smile

Oui, et tu constatera donc que ce n'est pas le cas avec FluxBB.

Hors ligne

#7 07-05-2012 17:00:12

jplemoine
Membre
Lieu : Charbonnières-les-Bains
Inscription : 25-06-2007
Messages : 49
Site Web

Re : Mot de passe

Bonjour,

A titre indicatif, stocker un codage du mot de passe en base de données est ce qui est fait dans certaines applications classées "confidentiel défense" (je n'ai évidement pas le droit d'en dire plus). Pour Gilisa : On peut coder tant qu'on veut un mot de passe, si  les utilisateurs écrivent le mot de passe sur un papier, ça fera un trou de sécurité. On peut juste leur conseiller d'écrire un moyen de le retrouver en utilisant des abréviations. exemple : Si tu vois, "trigramme + CP", c'est quoi mon mot de passe (il est très simple à trouver et je ne l'utilise evidement pas c'est pour l'exemple) ?

Hors ligne

#8 11-05-2012 20:20:07

gilisa
Membre
Lieu : Région parisienne (sud)
Inscription : 23-04-2012
Messages : 138
Site Web

Re : Mot de passe

Bonjour,

jplemoine a écrit :

certaines applications classées "confidentiel défense" (je n'ai évidement pas le droit d'en dire plus).

Pas besoin d'en dire plus, quand c'est vraiment chaud, comme ils n'ont pas du tout confiance, en leurs developpeurs a la petite semaine, ils ne connectent pas leur réseau a l'Internet et ils ont bien raison, parfois. sad ce qui est risible c'est que sur ce genre de réseau, ils ne savent même pas désactiver sur les stations ou serveurs Windows la lecture/écriture d'une clé USB. smile

jplemoine a écrit :

Si tu vois, "trigramme + CP", c'est quoi mon mot de passe (il est très simple à trouver et je ne l'utilise evidement pas c'est pour l'exemple) ?

WARGAME l'original, si tu n'es plus très jeune et si tu t'es interressé a la sécurité informatique c'est un excellent exemple. smile
--
Cordialement.
GG.

Dernière modification par gilisa (11-05-2012 20:20:25)

Hors ligne

#9 03-09-2014 15:37:23

Papillon33
Membre
Inscription : 03-09-2014
Messages : 2

Re : Mot de passe

Bon David, vous êtes surement très bon et le cryptage des photos est primordial. Ceci étant, on est pas lady Di et si à force de conneries superposées, il n'est même plus possible de connecter iGalerie à MySQL, je me demande.
J'essaye d'installer iGalerie et chaque page est une source de tourment. J'espère trouvé cet aprem, sinon je vais utiliser cette merde de Pixata.

Hors ligne

#10 03-09-2014 15:38:56

Papillon33
Membre
Inscription : 03-09-2014
Messages : 2

Re : Mot de passe

jplemoine a écrit :

Bonjour,

A titre indicatif, stocker un codage du mot de passe en base de données est ce qui est fait dans certaines applications classées "confidentiel défense" (je n'ai évidement pas le droit d'en dire plus). Pour Gilisa : On peut coder tant qu'on veut un mot de passe, si  les utilisateurs écrivent le mot de passe sur un papier, ça fera un trou de sécurité. On peut juste leur conseiller d'écrire un moyen de le retrouver en utilisant des abréviations. exemple : Si tu vois, "trigramme + CP", c'est quoi mon mot de passe (il est très simple à trouver et je ne l'utilise evidement pas c'est pour l'exemple) ?

Si t'as vraiment une habilitation, t'as même pas le droit d'en faire état. Donc ce que tu dis est bidon.

Hors ligne

#11 04-09-2014 11:52:17

Christian
Membre
Lieu : Belgique
Inscription : 16-06-2010
Messages : 292
Site Web

Re : Mot de passe

Papillon33 a écrit :

Bon David, vous êtes surement très bon et le cryptage des photos est primordial. Ceci étant, on est pas lady Di et si à force de conneries superposées, il n'est même plus possible de connecter iGalerie à MySQL, je me demande.
J'essaye d'installer iGalerie et chaque page est une source de tourment. J'espère trouvé cet aprem, sinon je vais utiliser cette merde de Pixata.

Bonjour Papillon,

Je confirme .... David est très fort !

Ensuite si après recherche tu ne trouves pas la (les) solution(s) à tes nombreux problèmes parmis tous les topics du forum... peut-être que d'en ouvrir un et y exposer ton tourment, de manière précise et documentée, pourrait permettre à quelqu'un de tenter de t'aider...

Cordialement.
Christian

Hors ligne

Pied de page des forums