Ce mois-ci, nous vous présentons comment déchiffrer les mots de passe des sources de données configurées sur serveur Weblogic.
Il vous est très certainement arrivé de vouloir vous connecter à une base de données et de réaliser que vous avez oublié le mot de passe de l’utilisateur du schéma !
Pas de panique, si la console ne vous permettra pas de récupérer ce mot de passe, il est tout à fait possible de le faire en ligne de commande.
Nous vous présentons ici comment, en quelques étapes :
- Tout d’abord, il faut localiser le fichier de configuration de votre source de données :
- Éditez ce fichier et recherchez le mot de passe codé :
- Puis définissez vos variables d’environnement :
- Lancez WebLogic Scripting Tool :
- Enfin exécutez les commandes WLST suivantes :
/u01/Oracle/Middleware/user_projects/domains/wls_domain/server/bin/jdbc/TESTDatasource-9845-jdbc.xml
<password-encrypted>{AES}tiy7Zi87XRGzZwwq9+68eBpV6lHnEbRg/pwJ7vKSDaI=</password-encrypted>
/u01/Oracle/Middleware/user_projects/domains/wls_domain/server/bin/setWLSEnv.sh
/u01/Oracle/Middleware/user_projects/domains/wls_domain/server/common/bin/wlst.sh
wls:/offline> from weblogic.security.internal import * wls:/offline> from weblogic.security.internal.encryption import * wls:/offline> password = "{AES}tiy7Zi87XRGzZwwq9+68eBpV6lHnEbRg/pwJ7vKSDaI=" wls:/offline> path = "/u01/Oracle/Middleware/user_projects/domains/wls_domain/security" wls:/offline> encryptionService = SerializedSystemIni.getEncryptionService(path) wls:/offline> clearOrEncryptedService = ClearOrEncryptedService(encryptionService) wls:/offline> print "password=" + clearOrEncryptedService.decrypt(password) password=Welcome1 wls:/offline> exit()
Voilà, c’est récupéré !
Mais surtout, adoptez une politique de sécurité pour vos mots de passe et conservez les en lieu sûr !
Nb: testé sur Weblogic Server 11.1.1.6.