Celery <4.0 Redis未授权访问+Pickle反序列化利用

Celery 是一个简单、灵活且可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具。它是一个专注于实时处理的任务队列,同时也支持任务调度。

在Celery < 4.0版本默认使用Pickle进行任务消息的序列化传递,当所用队列服务(比如Redis、RabbitMQ、RocketMQ等等等)存在未授权访问问题时,可利用Pickle反序列化漏洞执行任意代码。

漏洞环境

执行如下命令启动Celery 3.1.23 + Redis:

docker-compose up -d

漏洞复现

漏洞利用脚本exploit.py仅支持在python3下使用

pip3 install redis
python exploit.py [主机IP]

 

 



查看结果:

docker-compose logs celery

可以看到如下任务消息报错:

docker-compose exec celery ls -l /tmp

 

 

 

可以看到成功创建了文件celery_success

posted @   任尔东西南北风  阅读(215)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示