Spring-Messaging远程命令执行漏洞
漏洞简述
spring messaging为spring框架提供消息支持,其上层协议是STOMP,底层通信基于SockJS,
在spring messaging中,其允许客户端订阅消息,并使用selector过滤消息。selector用SpEL表达式编写,并使用
StandardEvaluationContext
解析,造成命令执行漏洞。
影响版本
Spring Framework 5.0 - 5.0.4.
Spring Framework 4.3 - 4.3.14
已不支持的旧版本仍然受影响
环境搭建
cd /vulhub/spring/CVE-2018-1270
docker-compose up -d
复现测试
先访问http://192.168.3.151:8080
使用官方的POC
https://github.com/vulhub/vulhub/blob/master/spring/CVE-2018-1270/exploit.py
修改一下
sockjs = SockJS('http://192.168.3.151:8080/gs-guide-websocket')
进入docker容器
docker exec -it cve-2018-1270 bash
cd /tmp
ls
结束!!