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. 使用systemd将iptables规则在docker启动后自动导入

    编写systemd文件 $ sudo vi /etc/systemd/system/iptables-import.service # /etc/systemd/system/iptables-imp ...

  2. abundant

    In ecology [生态学], local abundance is the relative representation of a species in a particular ecosys ...

  3. 转 android开发笔记之handler+Runnable的一个巧妙应用

    本文链接:https://blog.csdn.net/hfreeman2008/article/details/12118817 版权 1. 一个有趣Demo: (1)定义一个handler变量 pr ...

  4. Android Bitmap 全面解析(一)加载大尺寸图片

    压缩原因:1.imageview大小如果是200*300那么加载个2000*3000的图片到内存中显然是浪费可耻滴行为;2.最重要的是图片过大时直接加载原图会造成OOM异常(out of memory ...

  5. 【编程思想】【设计模式】【行为模式Behavioral】Publish_Subscribe

    Python版 https://github.com/faif/python-patterns/blob/master/behavioral/publish_subscribe.py #!/usr/b ...

  6. SpringColud微服务-微服务概述

    一.什么是微服务架构 微服务架构是一种架构模式,它提倡讲单一应用程序划分为一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在单独的进程当中,服务与服务之间采用轻量级的通信机制 ...

  7. Echarts 实现tooltip自动显示自动播放

    1.其实这个很容易实现,一个 dispatchAction 方法就解决问题:但是博主在未实现该功能时是花了大力气,各种百度,各种搜: 很难找到简单粗暴的例子,大多数随便回一句你的问题就没下文: 废话太 ...

  8. Spring Cloud简单项目创建

    一.Zuul 原文链接 Zuul的主要功能是路由转发和过滤器.路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务.zuul默认和Ribbon结 ...

  9. 【C/C++】【输入】关于scanf:输入空格,多次使用

    一.C/C++中带空格字符串的输入 C++中的cin和C中的scanf都是遇到空格或回车结束. 如果要让scanf接收空格,可以用读入字符集合的方式.%[] char a[100]; scanf(&q ...

  10. [PROC FREQ] 单组率置信区间的计算

    本文链接:https://www.cnblogs.com/snoopy1866/p/15674999.html 利用PROC FREQ过程中的binomial语句可以很方便地计算单组率置信区间,SAS ...