12 月 10 日凌晨,Apache 开源项目 Log4j2 的远程代码执行漏洞细节被公开,作为当前全球使用最广泛的 java 日志框架之一。该漏洞影响着很多全球使用量前列的开源组件,如 Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等。而且因为该漏洞利用方式简单,一旦有攻击者利用该漏洞,就可以在目标服务器上执行任意代码,给被攻击者造成极大危害。漏洞被公布后,厂商马上发布了新版本 log4j-2.15.0-rc1 对漏洞进行修复,并在之后更新了 log4j-2.15.0-rc2 进一步对漏洞进行了修复。

然而祸不单行,尽管大家修复 Log4j2 可能已经有些手忙脚乱,但是忙碌之余还是要分出精力来看看这个新的消息:微软 Azure 应用服务中存在一个名为“NotLegit”的漏洞,该漏洞影响所有通过“本地 Git”部署的 PHP、Node、Ruby 和 Python 应用。

漏洞详情

Azure 是用于托管网站和 Web 应用的平台,用户只需要选择支持的编程语言和操作系统,再使用 FTP、SSH 或通过从 Git 服务提取源代码在 Azure 托管的服务器上完成部署,就可以在 .azurewebsites.net 域中访问应用。因为使用方便,所以颇受开发者欢迎。而本次漏洞就出现在部署这一步。

正常的情况下,当开发者将 Git 存储库部署到 Web 服务器和存储桶时,因为包含敏感数据,因此不会上传 .git 文件夹。但是 Azure 设定,如果应用是通过本地 Git 部署到 Azure,那你的 Git 存储库就会变成所有人都可以访问的公开目录。当然为了保护敏感数据不暴露,微软在限制公共访问的 .git 文件夹中添加了“web.config”文件,让数据只能由微软 LLS 网络服务器处理。

漏洞就出现这里,因为这个只对用 LLS 部署的 C# 或 ASP.NET 应用有效。因为 Web 服务器无法处理“web.config”文件,因此如果是部署在不同 Web 服务器内的 PHP、Node、Ruby 和 Python 应用,那攻击者只要从目标应用组获取 /.git 目录,就可以得到对应的源代码。

漏洞应对

针对本漏洞,微软进行了以下应对:

  • 更新了所有 PHP 镜像,禁止将 .git 文件夹作为静态内容提供,以作为深度防御措施。

  • 更新了安全建议文档,增加了有关保护源代码的部分,还更新了本地部署的文档。

微软已经于 2021 年 12 月 7 日至 15 日之间通过邮件通知了被影响用户,提供了缓解问题的具体指导。

如果您没有收到邮件,您也不用第一时间着急,因为您可能没有被漏洞影响到,不受漏洞影响的范围如下:

  • 自 2017 年 9 月以来,在 Azure 应用服务中使用“本地 Git”部署的所有 PHP、Node、Ruby 和 Python 应用。

  • 从 2017 年 9 月起,在应用容器中创建或修改文件后,使用 Git 源代码部署在 Azure 应用服务中的所有 PHP、Node、Ruby 和 Python 应用。

而且微软也备注说明,本次漏洞只影响部署在基于 Linux 的 Azure 服务器上的应用。如果您的应用是托管在 Windows Server 系统上的,也不会受到漏洞影响。

本次漏洞由云安全供应商 Wiz 发现并提供,微软为其提供了 7500 美元的赏金。

最后,如果您有收到微软邮件通知,那还是要尽快根据邮件指导完成漏洞修复哦~

推荐阅读

如何快速搞定生产环境 Ansible 项目布局?

服务端渲染基础

警惕!PHP、Node、Ruby 和 Python 应用,漏洞还没结束!的更多相关文章

  1. 新版PHP 7效能實測:Drupal 7能快70%,碎形計算大勝Ruby和Python

    PHP 7才剛在12月3日正式釋出,網頁開發框架Zend公司立刻發表了一份PHP新舊版效能大車拼報告,除了PHP 7和PHP 5.6之外,也把HHVM 3.7版納入一起比較. Zend公司選擇了幾套知 ...

  2. Ruby与Python开发的环境IDE配置(附软件的百度云链接)

    Ruby开发环境配置 1.Aptana_RadRails(提示功能不好,开发Ruby不推荐) 链接:http://pan.baidu.com/s/1i5q96K1 密码:yt04 2.Aptana S ...

  3. ruby和Python简单对比

    前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果   序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时 ...

  4. [翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能

    [翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能 原文: Comparing AWS Lambda performance of Node.js, ...

  5. python S2-45 漏洞利用工具

    初学python脚本,写个工具练练手.第一次写勿喷.呃...忘了截图了,补上了. 程序对于处理 JSON post 有些问题,其他地方还没发现有啥问题. #coding:utf-8 import ch ...

  6. Java平台编写运行Ruby和Python

    Java不仅是一门编程语言,还是一个平台,通过JRuby和Jython,我们可以在Java平台上编写和运行Ruby和Python程序.

  7. Ruby 和 Python 分析器是如何工作的?

    你好! 我作为一名编写Ruby profiler的先驱,我想对现有的Ruby和Python profiler如何工作进行一次调查. 这也有助于回答很多人的问题:“你怎么写一个profiler?” 在这 ...

  8. Ruby. Vs . Python

    前言:从语言的本质上来分析,我对Ruby持反对态度,毕竟语言是为了交流,在表达的效率层面为了正确性必须适当放弃复杂性.且有句老话说的好,Ruby In Rails 才是语言,而Ruby只是这个语言的工 ...

  9. 对比Node.js和Python 帮你确定理想编程解决方案!

    世上没有最好的编程语言.有些编程语言比其他编程语言用于更具体的事情.比如,你可能需要移动应用程序,网络应用程序或更专业化的系统,则可能会有特定的语言.但是我们暂时假设你需要的是一个相对来说比较简单的网 ...

随机推荐

  1. Django结合Echarts在前端展示数据

    前言 最近在用Django写UI自动化测试平台,基本快要弄完了,但是首页只有项目列表展示,一直感觉很空旷,所以想把一些关键数据在首页展示出来. 这时就想到利用Echarts这个开源项目,但是Djang ...

  2. 使用GitHub Action进行打包并自动推送至OSS

    GitHub Action 是 GitHub 于 2018 年 10 月推出的一个 CI\CD 服务. 官方文档:https://docs.github.com/cn/actions CI\CD 持续 ...

  3. 巩固javaweb第十七天

    巩固内容: 文本域 文本域主要用于输入多行文字,如果输入的文字比较多,则可以采用文本域. 文本域的基本格式如下: <textarea rows="行数" name=" ...

  4. 零基础学习java------21---------动态代理,java8新特性(lambda, stream,DateApi)

    1. 动态代理 在一个方法前后加内容,最简单直观的方法就是直接在代码上加内容(如数据库中的事务),但这样写不够灵活,并且代码可维护性差,所以就需要引入动态代理 1.1 静态代理实现 在讲动态代理之前, ...

  5. Excel 数据验证:分类选择及输入限制

    几个简单设置让你的数据不再出错 如何快速选择某一大类中的细分小类 多级菜单 注意:引用可以创建二级目录,但是引用前应先用公式定义名称,然后引用,引用只能在本sheet操作.

  6. C++11的auto自动推导类型

    auto是C++11的类型推导关键字,很强大 例程看一下它的用法 #include<vector> #include<algorithm> #include<functi ...

  7. Java中特殊的类——Object类

    Java中特殊的类--Object类 1.Object类的概述 Object类是java默认提供的类.Java中除了Object类,所有的类都是有继承关系的.默认会继承Object类,即所有的对象都可 ...

  8. docker配置国内阿里云镜像源

    使用docker默认镜像源下载镜像会很慢,因此很多情况下,我们在安装完docker以后都会修改为国内的镜像,这样在下载镜像的时候就不用等那么长时间了. 配置docker的镜像为阿里云镜像 方法一 $ ...

  9. MySQL数据库行转列

    一.数据源如下所示 二.对应SQL语句如下所示 -- 行转列 SELECT t1.`产品名称`, SUM(CASE t1.`日期` WHEN '2019-11-11' THEN t1.`数量` ELS ...

  10. [BUUCTF]PWN——level4

    level4 附件 步骤: 例行检查,32位程序,开启了NX保护 运行一下程序,看看大概的情况 32位ida载入,首先检索程序里的字符串,根据上一步运行看到的字符串进行跳转 输入点在function里 ...