【问题标题】:Accessing unencrypted H2 database without credential knowledge在没有凭证知识的情况下访问未加密的 H2 数据库
【发布时间】:2014-11-06 10:01:19
【问题描述】:

我们正在为客户清理服务器,偶然发现了一个使用 H2 数据库的旧应用程序。虽然访问应用程序的配置文件中有凭据,但它们似乎都不起作用。

甚至“sa”用户的访问权限也是未知的。据我所知,“sa”的密码默认为空字符串,但使用“sa”/“”的访问被拒绝(错误的用户名或密码 [28000-182] 28000/28000(帮助))。

如前所述,数据库未加密。查看文件,我可以看到表的 SQL 语句,甚至可以看到一些表内容。

有什么方法可以访问该数据库?据我的搜索显示,只能使用“sa”用户。我正在从 MySQL 中寻找类似于“--skip-grant-tables”的东西。

【问题讨论】:

    标签: h2


    【解决方案1】:

    最简单的解决方案可能是:

    1. 尝试不使用密码登录数据库。这将失败(用户名或密码错误),但它会运行事务日志恢复,以便数据库处于一致状态。
    2. 然后,使用恢复工具 (org.h2.tools.Recover) 生成 SQL 脚本。
    3. 编辑脚本:更改默认用户的密码。
    4. 运行脚本。这样你就得到了一个新的数据库。

    【讨论】:

    • 这听起来可行。谢谢你。将报告结果。
    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 2013-06-19
    • 2020-12-26
    • 1970-01-01
    • 2018-11-18
    • 2013-04-02
    • 1970-01-01
    • 2014-02-20
    相关资源
    最近更新 更多