社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

NotLegit:微软Azure App服务漏洞暴露用户源代码

嘶吼专业版 • 3 年前 • 516 次点击  

微软Azure App服务漏洞存在长达4年,暴露大量用户源代码。

Azure App Service(应用服务)是微软提供的用于构建和托管Web 应用的平台。近日,Wiz.io研究人员在Azure应用服务中发现一个安全漏洞——NotLegit,该漏洞自2017年开始存在,会引发用户的PHP、Node、Python、Ruby、Java源代码泄露。

NotLegit漏洞分析

图1 Azure应用服务中支持Git部署源码

该安全产生的根源在于你的Local Git库是公开可访问的。一般来说,在部署git库到web服务器等时,需要确保.git文件没有被上传。因为.git文件夹中包含源码、开发者邮箱和其他敏感信息。但通过Local Git 部署方式部署源码到Azure应用服务时,Git库创建的位置是/home/site/wwwroot,该目录是任何人都可以访问的一个公开目录。为了保护文件,微软在.git文件中创建了一个web.config 文件来限制对公开目录的公开访问。但只有微软IIS服务器会处理web.config文件。如果用户使用C# 或ASP.NET,并且应用部署在IIS服务器上,那就不会有任何问题。

但是如何使用的是PHP、Node、Python、Ruby、Java,这些编程语言部署在不同的web服务器上,比如Apache、Nginx、Flask,这些web服务器是不会处理web.config文件的,因此漏洞就产生了。恶意攻击者只需要从目标应用中提取/.git目录,就可以提取出源代码。

研究人员还发现微软的web.config文件中存在错误,configuration标签没有关闭,使得该文件无法被IIS服务器处理。

图2  web.config的错误

后来,微软发现使用其他Git部署根据的用户也会暴露源代码:如果Azure应用服务容器中的文件在Git部署前就被创建或修改了,那么服务就会进入“inplace deployment”状态。该状态使得之后所有的Git部署都在公开可访问目录中初始化。

漏洞影响

漏洞影响2017年9月之后Azure 应用服务默认应用中部署的所有PHP、Node、Ruby 、Python应用。

漏洞影响2017年9月之后Azure 应用服务默认应用中使用任何Git源部署的所有PHP、Node、Ruby 、Python应用。

唯一不受该漏洞影响的应用就是基于IIS服务器的应用。

漏洞在野利用

图3 未知用户发起对.git文件夹的请求

微软已于12月7日-15日向所有受影响的用户发送了通知邮件:

图4 微软向受影响的用户发送邮件通知

完整技术细节参见:https://www.wiz.io/blog/azure-app-service-source-code-leak

参考及来源:https://www.bleepingcomputer.com/news/security/microsoft-azure-app-service-flaw-exposed-customer-source-code/

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/124859
 
516 次点击