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

相关推荐
chxii几秒前
在 Spring Boot 中,MyBatis 的“自动提交”行为解析
java·数据库·mybatis
wind_one124 分钟前
13.基础--SQL--DQL-聚合函数
数据库·sql
猿小喵39 分钟前
浅谈MySQL的redo日志
数据库·mysql
陳陈陳1 小时前
AIGC 时代,用自然语言操作数据库:SQLite + LLM 的轻量级实践
前端·数据库·python
AI绘画小332 小时前
【网络安全】Wireshark 抓包过滤:源 / 目的 IP 过滤 + 命令大全
数据库·tcp/ip·测试工具·安全·web安全·wireshark
数据知道2 小时前
FastAPI项目:构建打字速度测试网站(MySQL版本)
数据库·python·mysql·fastapi·python项目
姓蔡小朋友3 小时前
redis GEO数据结构、实现附近商铺功能
数据结构·数据库·redis
冉冰学姐3 小时前
SSM农贸市场摊位管理系统c22ux(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·农贸市场·摊位管理系统
面向星辰3 小时前
SQL LIKE 相似信息查找语句
数据库·sql
数据库学啊3 小时前
时序数据库选型
数据库·时序数据库