python-socketio 5.14.0 之前的版本存在一个远程代码执行漏洞,在攻击者先前已获得服务器内部通信所用消息队列访问权限的多服务器部署中,攻击者可通过恶意 pickle 反序列化执行任意 Python 代码。 您可以在 GitHub Advisory 中找到此漏洞的详细分析。
此演示涉及三个 docker 容器:
有一个 docker-compose.yml 文件用于编排这些容器。要运行此演示,请在包含 docker-compose.yml 文件的目录中执行以下命令:
docker-compose up --build
该命令将构建并启动所有三个容器。Socket.IO 服务器将在 http://localhost:5000 上可访问,攻击者客户端将在启动时自动尝试利用该漏洞。您可以在 evidence 目录中查看 socketio_server 容器内由该漏洞利用创建的任何文件。