使用 OpenSSL 解密 DBeaver 保存的数据库连接信息获取数据库连接密码
故事经历:
你是不是使用任何软件时都喜欢记住密码?
是的,我也喜欢。
但如果有一天你想把密码分享给其他人,而你又不记得密码是什么了,没错你可以去查看已保存的密码,
但是当你使用的是 DBeaver 时,不好意思,没有查看已保存的密码功能,这个时候不就尴尬了嘛。
那么现在你也许不再需要因此而烦恼了,因为我们可以解密 DBeaver 的连接信息,从而找到我们的密码了,嘿嘿,不用掉头发了。
也许你有点疑惑,放着UI好看,功能强大的 Navicat 不用,为啥用 DBeaver ?
那当然是因为某些不可启齿的原因,收到了 Navicat 的律师函。别笑,Navicat 也知道你在用的是什么版本,只不过他可能觉得你这只羊还不够“肥”,所以没准备“宰”,嘿嘿。
(支持正版,人人有责。能力有限,我用社区版 ^_^)
版本说明:
Windows 10
DBeaver:23.1.3.202307231901
OpenSSL:Win64OpenSSL-3_1_2
1、找到 DBeaver 保存的数据库的连接配置信息文件
通过以下方式可以快速找到路径:
打开 Sql 编辑窗口,鼠标右键菜单-首选项,可打开以下功能页面,其中 Location 即为当前 sql 脚本文件缓存目录
而配置信息保存文件在同一个 ~/General 目录下,我的配置文件在下面路径,供参考
C:\Users\HP\AppData\Roaming\DBeaverData\workspace6\General\.dbeaver
找到 credentials-config.json 文件,此文件即为 DBeaver 保存的数据库连接信息。接下就是需要解密这个文件了
2、安装 Open SSL
大家可以参考此篇博客:windows安装OpenSSL - 丁少华 - 博客园 (cnblogs.com),推荐使用其中的第二种方法。
3、用 Open SSL 解密 DBeaver 连接信息
3.1 找到 Open SSL 安装目录,执行 start.bat
3.2 通过 OpenSSL 执行命令来解密文件
这里采用最简单粗暴的方式,将 DBeaver 保存的的数据库连接文件 credentials-config.json 文件直接复制到 OpenSLL 安装路径
在上一步打开的 命令行窗口输入以下命令即可解密:
具体参数大家可另行查阅, -out 指输出文件
openssl aes-128-cbc -d -K babb4a9f774ab853c96c2d653dfe544a -iv 00000000000000000000000000000000 -in credentials-config.json -out output.txt
执行命令后可得到 output.txt 的解密文件 output.txt
3.3 查找数据库密码
上一步我们已经成功解密了 DBeaver 的数据库连接文件,文件内容类似如下的Json字符串:
"postgres-jdbc-189d9b2d6d3-5a1d74d7bc78c73a":{"#connection":{"user":"postgres","password":"996997"}}
解密后的文件内并不能看到连接 ip ,因为无法判断是属于哪一台数据库服务器,但这里可以根据 user 去判断和寻找对应的数据库密码,数据库密码都已经是明文展示了,对于找回数据库连接密码也已经足够使用了。
由于我的配置文件不能外传,也没搞过Java,所以没有测试过这个项目是否可行,如果条件允许,大家可以 try 一下 ^_^
本文来自博客园,作者:Pengxx,转载请注明原文链接:https://www.cnblogs.com/pengxx/p/17623504.html
“先从0到1,再从1到100”