Quotidien Shaarli

Tous les liens d'un jour sur une page.

July 17, 2024

vi et vim : chercher / remplacer (aide – explication rapide) – Olivier Pons

Une autre commande pour rechercher et remplacer du texte dans vi/vim.

:%s/rechercher/remplacer/g

docs.oracle.com/cd/E19620-01/805-1608/6j1io9lhm/index.html

Pour rechercher et remplacer toutes les occurrences d'une chaîne de caractère avec vi/vim, passer la commande suivante :
:g/rechercher/s//remplacer/g

Note: Récupérer les mots de passes enregistrés sous DBeaver

Les identifiants de connexions aux BDD sous DBeaver sont stockés chiffrés. Pour les récupérer/extraire, il y a quelques manipulations à réaliser.

La procédure décrite ici vaut pour Windows. Il faut l'adapter pour les autres OS.

Il y a 2 fichiers json :

  • Emplacement %AppData%\DBeaverData\workspace6\General.dbeaver\
  • Fichier n°1 : data-sources.json contient les noms et paramètres de connexion.
  • Fichier n°2 : credentials-config.json contient les credentials (user + password) associés.

Les paramètres de connexion du fichier data-sources.json ressemblent à :

[...]
        "db2_luw_old-18217802401-33405f2d599592fe": {
            "provider": "generic",
            "driver": "db2_luw_old",
            "name": "TST24 Exemple",
            "save-password": true,
            "folder": "TEST",
            "configuration": {
                "host": "pp-db2.serveur.bidon.org",
                "port": "50000",
                "database": "exemple",
                "url": "jdbc:db2://pp-db2.serveur.bidon.org:50003/exemple",
                "configurationType": "MANUAL",
                "type": "dev",
                "auth-model": "native"
            }
        },
[...]

Après déchiffrement, les credentials du 2nd fichier ressemblent à :

[...]
  "db2_luw_old-18217802401-33405f2d599592fe": {
    "#connection": {
      "user": "utilisateur",
      "password": "mot_de_passe_en_clair"
    }
  },
[...]

Il faut :
1) Chercher le nom de la connexion dans data-sources.json. Ici TST24 Exemple (cf. entrée name).
2) Cette connexion est encapsulée dans une entrée au nom "bizarre" et unique dans le fichier, ici db2_luw_old-18217802401-33405f2d599592fe.
3) Chercher ce nom bizarre dans le fichier credentials-config.json déchiffré pour y trouver les user et password associés.

Pour déchiffrer le fichier de credientials, il faut, sur une machine linux, passer la commande suivante : openssl aes-128-cbc -d -K babb4a9f774ab853c96c2d653dfe544a -iv 00000000000000000000000000000000 -in "%AppData%\DBeaverData\workspace6\General\.dbeaver\credentials-config.json" | dd bs=1 skip=16 2>/dev/null | jq | less

Explication de la commande :

  • openssl déchiffre le contenu
  • dd récupère la partie contenant les user + password
  • jq met en forme le json pour le rendre lisible
  • less permet de visualiser la sortie pour y rechercher tous les mots de passe à récupérer. Les commandes /et ? servent à rechercher en avant et en arrière. Taper q pour quitter.