Spring Cloud Gateway RCE xray poc编写

漏洞靶机

cd /pentest/target/vulhub/spring/CVE-2022-22947

docker-compose up -d

docker images -a

1
http://192.168.18.30:8080/

image-20220527102132587

复现

根据这篇文章复现成功了

https://wya.pl/2022/02/26/cve-2022-22947-spel-casting-and-evil-beans/

image-20220527113131083

image-20220527113219642

一共只需要发送两个数据包,一个构造命令执行,一个刷新路由

在ceye的dns回显,发现了记录,说明命令执行成功

编写poc

偶尔有时命令执行有效负载Runtime.getRuntime().exec()会失败。使用Webshell,反序列化漏洞或其他向量时可能会发生这种情况。
这是因为重定向和管道字符的使用方式在正在启动的进程的上下文中没有意义。

所以不像在命令框中可以直接运行复杂命令

对于Linux靶机可以使用base64编码命令进行绕过。

bash -c {echo,命令进行base64编码}|{base64,-d}|{bash,-i}

使用nc -lnvp 12345

然后用base64编码的payload可以进行反弹shell,偷懒起见就不截图了

image-20220527223020510

查看docker进程的命令

docker top xxx

参考资料