H2 Database Console未授权访问漏洞封堵

背景

H2 Database Console未授权访问,默认情况下自动创建不存在的数据库,从而导致未授权访问。各种未授权访问的教程,但是它怎么封堵呢?

-ifExists

很简单,启动参数添加 -ifExists ,它的含义:

-ifExists Only existing databases may be opened (all servers)

应用出厂时先创建好数据库文件后,修改启动脚本,添加该参数:

bash 复制代码
dir=$(dirname "$0")
nohup java -cp "$dir/h2-2.x.xx.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Server -tcpAllowOthers -webAllowOthers -tcpPort -ifExists "$@" &

这样启动 h2 后首次访问时会因为 test 数据库不存在而无法连接:

只有输入正确的出厂数据库路径、帐号和密码,才能连接到操作页面。

其他尝试

还有一个 -webAdminPassord 参数,但是加上后一直报不支持的操作异常,最后只好作罢。

相关推荐
ss2735 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
瑞克-桑切斯5 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
z06.6 小时前
MySQL索引
数据库·mysql
考虑考虑6 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
云祺vinchin6 小时前
中小企业备份软件选型从恢复需求到总体成本评估
数据库·数据备份·中小企业备份·容灾备份软件
Zenova EdgeOS6 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
KKKlucifer7 小时前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
字节跳动开源7 小时前
OpenViking 上线原生 3D 内容理解模型
数据库·开源
CCIE-Yasuo10 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶10 小时前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构