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 参数,但是加上后一直报不支持的操作异常,最后只好作罢。

相关推荐
随风,奔跑15 小时前
Redis
数据库·redis·缓存
IvorySQL15 小时前
2MB 的 PostgreSQL work_mem,如何吃掉 2TB 内存?
数据库·postgresql·开源
桑榆肖物15 小时前
有字幕,没配音?用浏览器自带语音能力,让网页视频直接“开口说话”
数据库·edge·音视频·tts
熬夜的咕噜猫15 小时前
MySQL主从复制与读写分离
网络·数据库·mysql
道清茗15 小时前
【MySQL知识点问答题】 备份技术、Invisible Indexes 和直方图的应用
数据库·mysql
芒果披萨15 小时前
sql存储过程
java·开发语言·数据库
jnrjian15 小时前
RAC 去除node的建议 dbca 和手动方法
数据库·oracle
TlYf NTLE16 小时前
redis分页查询
数据库·redis·缓存
翻斗包菜16 小时前
MySQL 全量、增量备份与恢复实战指南(含 mysqldump + binlog + XtraBackup)
数据库·oracle
|华|16 小时前
MySQL主从复制与读写分离
数据库·mysql