menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right Spring Boot sql chevron_right Spring Boot sql.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    Spring Boot sql.md
    1.76 KB / 2021-07-15 20:03:55
        Spring Boot sql
    ===============
    
    一、漏洞简介
    ------------
    
    二、漏洞影响
    ------------
    
    三、复现过程
    ------------
    
        spring.datasource.tomcat.validationQuery=drop+table+users
    
    许您指定任何SQL查询,它将针对当前数据库自动执行。它可以是任何语句,包括插入,更新或删除。
    
    ![](./resource/SpringBootsql/media/rId24.png)
    
        spring.datasource.tomcat.url=jdbc:hsqldb:https://localhost:3002/xdb
    
    允许您修改当前的JDBC连接字符串。
    
    最后一个看起来不错,但是问题是当运行数据库连接的应用程序已经建立时,仅更新JDBC字符串没有任何效果。希望在这种情况下,还有另一个属性可以对我们有所帮助:
    
        spring.datasource.tomcat.max-active=777
    
    我们可以在此处使用的技巧是增加到数据库的同时连接数。因此,我们可以更改JDBC连接字符串,增加连接数,然后将许多请求发送到应用程序以模拟繁重的负载。在负载下,应用程序将使用更新的恶意JDBC字符串创建新的数据库连接。我在Mysql本地对这项技术进行了测试,它的工作原理就像一个魅力。
    
    ![](./resource/SpringBootsql/media/rId25.png)
    
    除此之外,还有其他一些看起来有趣的属性,但实际上并没有真正的用处:
    
    **spring.datasource.url**
    
    > 数据库连接字符串(仅用于第一个连接)
    
    **spring.datasource.jndiName**
    
    > 数据库JNDI字符串(仅用于第一个连接)
    
    **spring.datasource.tomcat.dataSourceJNDI**
    
    > 数据库JNDI字符串(根本不使用)
    
    **spring.cloud.config.uri**=[http://artsploit.com/](https://www.veracode.com/blog/research/exploiting-spring-boot-actuators#)
    
    > spring cloud配置url(在应用程序启动后不起任何作用,只使用初始值。)
    
    
    links
    file_download