Jump to content

Cryptage mdp sql


Recommended Posts

Bonjour, j'ai une base de donnée mysql dont j'aimerais connaitre le type de cryptage utilisé pour les mdp d'utilisateur, comment puis-je trouver cela ?

 

En gros, nous n'avons plus que la bdd mysql et ne connaissons pas les mdp de l'utilisateur admin du siteweb.

nous voudrions changer le mdp, cependant nous ne sommes pas en capacité d'avoir accès (pour le moment) au fichier du site.

 

le site tourne sous K-SUP développé par Kosmos (je dirais en java mais pas sur).

 

un des mots de passe est crypté ainsi :  rk8Mc0EBC+8bjO4Uxq/WHA== 

ca vous dit quelque chose ?

 

merci d'avance.

Link to comment
Share on other sites

Il y a 3 heures, ViriisXP a écrit :

En gros, nous n'avons plus que la bdd mysql et ne connaissons pas les mdp de l'utilisateur admin du siteweb.

un des mots de passe est crypté ainsi :  

1-Les mots de passes ne sont généralement pas stockés chiffrés: c'est un hash du mot de passe qui est stocké, de sorte que même ave cla BDD, on ne peut pas trouver le mot de passe d'origine (quoiqu'on puisse trouver un mode de passe "compatible"

2-La technique habituelle dans ce cas: si tu connais un mot de passe (celui de n'importe quelle autre personne), tu le copies sur celui de l'admin et tu espères que ça suffise.

3-Demander au prestataire (Kosmos dans ce cas)

4-Le hash que tu indiques est déjà en base64. Il fait 22 caractères (lees = ne comptent pas), soit 132 bits maxi --> ton hash est sur 128bits --> je dirais que tu as toutes les chances d'être sur un MD5 --> Je te laisse trouver un moyen de trouver un mot de passe qui fonctionne avec ce MD5 (SI JAMAIS SEUL LE MOT DE PASSE EST HASHE - normalement on y ajoute du "sel" avant le hashage pour éviter ce genre de manip)

 

  • Aime 1
Link to comment
Share on other sites

Il y a 11 heures, brice.wernet a écrit :

1-Les mots de passes ne sont généralement pas stockés chiffrés: c'est un hash du mot de passe qui est stocké, de sorte que même ave cla BDD, on ne peut pas trouver le mot de passe d'origine (quoiqu'on puisse trouver un mode de passe "compatible"

2-La technique habituelle dans ce cas: si tu connais un mot de passe (celui de n'importe quelle autre personne), tu le copies sur celui de l'admin et tu espères que ça suffise.

3-Demander au prestataire (Kosmos dans ce cas)

4-Le hash que tu indiques est déjà en base64. Il fait 22 caractères (lees = ne comptent pas), soit 132 bits maxi --> ton hash est sur 128bits --> je dirais que tu as toutes les chances d'être sur un MD5 --> Je te laisse trouver un moyen de trouver un mot de passe qui fonctionne avec ce MD5 (SI JAMAIS SEUL LE MOT DE PASSE EST HASHE - normalement on y ajoute du "sel" avant le hashage pour éviter ce genre de manip)

 

Bonjour @brice.wernet, je ne sais pas pourquoi mais je m' attendais à cette réponse. je n'ai aucun autre mot de passe de la bdd sous la main, malgré que cette idée m'ai bien entendu traversée l'esprit.

 

j'ai donc pris contact avec Kosmos, on vera bien.

 

Merci pour ta réponse et ta prise en charge.

 

Bien à toi.

Link to comment
Share on other sites

En cas de désespoir: si c'est un hash simple, un mot de passe sans caractères spéciaux, tu le hash, tu l'encode en base 64 et tu l'injectes dans la BDD.

Parfois aussi, mettre le mot de passe à "null" déclenche la demande d'un mot de passe.

Link to comment
Share on other sites

Dans le cas où c'est du md5 sans sel (si sel normalement, il devrait être à coté dans la table) ni poivre (si poivre il est dans le code source de l'appli) encodé en base64 alors pour coder un MdP tu devrais faire :

<?php echo base64_encode(md5('123456')) ?>

Je l'ai écrit en PHP mais cela doit être facile à faire avec n'importe quel langage récent.

Link to comment
Share on other sites

Il y a 17 heures, ViriisXP a écrit :

Heu disons que la @brice.wernet tu m'a perdu. admettons que pour le moment  je souhaite mettre 123456 en mdp. ca me donne quoi à la fin ?

ce qu'il a voulu dire c'est que si le champ contenant le mdp est à "null" ou s'il est vide la base de donnée va te demander un nouveau mdp donc c'est facile. Il me semble bien que ça marche de laisser un champ vide de mémoire il me semble avoir déjà testé.

Link to comment
Share on other sites

Posted (edited)
Il y a 1 heure, RaphAstronome a écrit :

Dans le cas où c'est du md5 sans sel (si sel normalement, il devrait être à coté dans la table) ni poivre (si poivre il est dans le code source de l'appli) encodé en base64 alors pour coder un MdP tu devrais faire :




<?php echo base64_encode(md5('123456')) ?>

Je l'ai écrit en PHP mais cela doit être facile à faire avec n'importe quel langage récent.

OK, merci .

j'ai tester mais malheureusement ca n'a pas permis l'accès.

 

il doit donc y avoir du "SEL", tu me dis qu'il doit être dans la table .

 

voici la table :

 

mysql> describe UTILISATEUR;
+------------------------+--------------+------+-----+------------+----------------+
| Field                  | Type         | Null | Key | Default    | Extra          |
+------------------------+--------------+------+-----+------------+----------------+
| ID_UTILISATEUR         | bigint(20)   | NO   | PRI | NULL       | auto_increment |
| CODE                   | varchar(64)  | YES  | MUL |            |                |
| MOT_DE_PASSE           | varchar(255) | YES  |     |            |                |
| DATE_NAISSANCE         | date         | YES  |     | 1970-01-01 |                |
| CIVILITE               | varchar(4)   | YES  |     |            |                |
| NOM                    | varchar(255) | YES  | MUL |            |                |
| PRENOM                 | varchar(255) | YES  |     |            |                |
| CODE_RATTACHEMENT      | varchar(64)  | YES  | MUL |            |                |
| GROUPES                | text         | YES  |     | NULL       |                |
| ADRESSE_MAIL           | varchar(255) | YES  |     |            |                |
| RESTRICTION_VALIDATION | varchar(30)  | YES  |     |            |                |
| EXTENSION_MODIFICATION | varchar(30)  | YES  |     |            |                |
| CENTRES_INTERET        | text         | YES  |     | NULL       |                |
| PROFIL_DSI             | varchar(30)  | YES  |     |            |                |
| GROUPES_DSI            | text         | YES  |     | NULL       |                |
| CODE_LDAP              | varchar(255) | YES  | MUL |            |                |
| GROUPES_DSI_IMPORT     | text         | YES  |     | NULL       |                |
| ROLES                  | text         | YES  | MUL | NULL       |                |
| PROFIL_DEFAUT          | varchar(30)  | YES  |     |            |                |
| SOURCE_IMPORT          | varchar(120) | YES  |     |            |                |
| DATE_DERNIERE_SESSION  | date         | YES  |     | 1970-01-01 |                |
| FORMAT_ENVOI           | char(1)      | YES  |     |            |                |
| MODE_SAISIE_EXPERT     | char(1)      | YES  |     | 1          |                |
| TS_CACHE_GROUPES       | bigint(20)   | YES  |     | 0          |                |
+------------------------+--------------+------+-----+------------+----------------+

 

la liste des tables :

 

mysql> SHOW TABLES;
+--------------------------+
| Tables_in_KOSMOS_DB         |
+--------------------------+
| ACTUALITE                |
| AGENDAEVENEMENT          |
| AGENDAGW                 |
| ANNUAIREANCIENSETUDIANTS |
| ANNUAIREETUDIANTS        |
| ANNUAIREKSUP             |
| ARTICLE                  |
| ARTICLEBLOG              |
| ASSOCIATIONETUDIANT      |
| BLOG                     |
| CACHE                    |
| CARD                     |
| CARD_META                |
| CHANGEMENTMOTPASSE       |
| COMMENTAIRE              |
| CONTENUFORMULAIRE        |
| COURS                    |
| DATEHORAIRE              |
| DEFAULTSTRUCTUREKSUP     |
| DEMANDEABONNEMENT        |
| DOCUMENT                 |
| DOCUMENTGW               |
| DOSSIERGW                |
| ENCADRE                  |
| ENROLLMENT               |
| ENROLLMENT_MODEL_META    |
| ENROLLMENT_STATE_HISTORY |
| ESPACECOLLABORATIF       |
| EXTENSION                |
| FICHEACCUEIL             |
| FIL                      |
| FORMATION                |
| FORMULAIRE               |
| FORUMGW                  |
| GROUPEDSI                |
| GROUPEUTILISATEUR        |
| IDENTITY                 |
| LABORATOIRE              |
| LAYOUT                   |
| LAYOUT_META              |
| LIBELLE                  |
| LIEN                     |
| LIEU                     |
| LIEUMETATAG              |
| MAILING                  |
| MEDIA                    |
| METATAG                  |
| META_REFERENCE           |
| MODEL                    |
| MODELEMAIL               |
| MODULE                   |
| NEWSGW                   |
| OFFRESSTAGESEMPLOIS      |
| PAGELIBRE                |
| PARCOURS                 |
| PREFERENCES              |
| PROFILDSI                |
| QRTZ_BLOB_TRIGGERS       |
| QRTZ_CALENDARS           |
| QRTZ_CRON_TRIGGERS       |
| QRTZ_FIRED_TRIGGERS      |
| QRTZ_JOB_DETAILS         |
| QRTZ_LOCKS               |
| QRTZ_PAUSED_TRIGGER_GRPS |
| QRTZ_SCHEDULER_STATE     |
| QRTZ_SIMPLE_TRIGGERS     |
| QRTZ_SIMPROP_TRIGGERS    |
| QRTZ_TRIGGERS            |
| REGISTRATION             |
| RESSOURCE                |
| ROLE                     |
| RUBRIQUE                 |
| RUBRIQUEPUBLICATION      |
| SEQUENCEJOB              |
| SEQUENCETRIGGER          |
| SERVICE                  |
| SITE                     |
| SITE_REFERENCE           |
| UEUP                     |
| USER_MODERATION          |
| USER_ROLES_COLLABORATIF  |
| UTILISATEUR              |
+--------------------------+

 

 

Il y a 26 minutes, ashlol a écrit :

ce qu'il a voulu dire c'est que si le champ contenant le mdp est à "null" ou s'il est vide la base de donnée va te demander un nouveau mdp donc c'est facile. Il me semble bien que ça marche de laisser un champ vide de mémoire il me semble avoir déjà testé.

Le hic, c'est que ce vieux système n'a pas d'envoi de lien de réinit. et le module de connexion refuse le champs de mdp empty (bon meme si j'ai modifier avec l'inspecteur et retirer le "required").

 

 

Edited by ViriisXP
Link to comment
Share on other sites

Je ne vois rien qui pourrait ressembler à un sel, peut être qu'il y a un poivre ou il utilise autre chose comme sel. Cela peut être n'importe quoi. Je supposes que tu n'a pas le code source ?

En général pour les applis récentes on utilise un codage avec le sel et le format tout intégré au code genre password_hash de PHP mais là ce n'est visiblement pas le cas.

Par contre je vois que tu a un "CODE_LDAP" cela pourrait vouloir dire que tu peux connecter ton logiciel à un LDAP. Pour peu que tu contrôle ce dernier tu peux tout à fait mettre les comptes et pass que tu veux sur ce LDAP. Il faudrait voir dans la doc du logiciel si ils en disent quelque chose. À priori il faudrait s'attendre plutôt à avoir des logins dans cette colonne et non des pass qui sont sur le LDAP. Éventuellement des CN / UID LDAP. Cela ressemble à "uid=test,ou=people,dc=domaine,dc=fr". Il faudrait voir si certaines entrées ont quelque chose dedans.

  • Aime 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...