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

相关推荐
Meepo_haha9 小时前
配置 Redis
数据库·redis·缓存
u01091476011 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_3409988211 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_6784854511 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
qq_3422958211 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
panzer_maus11 小时前
MySQL 索引介绍与索引优化的简单介绍
数据库·mysql
Greyson111 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
captain37611 小时前
事务___
java·数据库·mysql
justjinji11 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
爱学习的小邓同学12 小时前
MySQL --- MySQL数据类型
数据库·mysql