celery
celery是什么
- celery是Python开发的简单的、灵活可靠的、处理大量消息的分布式任务调度模块
- 专注于实时处理的异步任务队列
- 同时支持任务调度
celery本身不含消息服务,它使用第三方消息服务来传递任务,支持的消息服务有RabbitMQ、Redis、Amazon SQS,celery本身是用Python编写,其协议支持任何语言实现,除了Python外还有Node.js的node-celery和php的celery.php。
Celery <4.0 Redis未授权访问+Pickle反序列化利用
在celery<4.0版本默认使用pickle进行任务消息的序列化传递,当消息队列服务存在未授权访问时,可利用pickle反序列化漏执行任意代码。
步骤1:利用脚本注入命令,创建文件
查看任务消息报错信息
成功创建文件。