警惕!PHP、Node、Ruby 和 Python 应用,漏洞还没结束!
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 美元的赏金。
最后,如果您有收到微软邮件通知,那还是要尽快根据邮件指导完成漏洞修复哦~
推荐阅读
警惕!PHP、Node、Ruby 和 Python 应用,漏洞还没结束!的更多相关文章
- 新版PHP 7效能實測:Drupal 7能快70%,碎形計算大勝Ruby和Python
PHP 7才剛在12月3日正式釋出,網頁開發框架Zend公司立刻發表了一份PHP新舊版效能大車拼報告,除了PHP 7和PHP 5.6之外,也把HHVM 3.7版納入一起比較. Zend公司選擇了幾套知 ...
- Ruby与Python开发的环境IDE配置(附软件的百度云链接)
Ruby开发环境配置 1.Aptana_RadRails(提示功能不好,开发Ruby不推荐) 链接:http://pan.baidu.com/s/1i5q96K1 密码:yt04 2.Aptana S ...
- ruby和Python简单对比
前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果 序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时 ...
- [翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能
[翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能 原文: Comparing AWS Lambda performance of Node.js, ...
- python S2-45 漏洞利用工具
初学python脚本,写个工具练练手.第一次写勿喷.呃...忘了截图了,补上了. 程序对于处理 JSON post 有些问题,其他地方还没发现有啥问题. #coding:utf-8 import ch ...
- Java平台编写运行Ruby和Python
Java不仅是一门编程语言,还是一个平台,通过JRuby和Jython,我们可以在Java平台上编写和运行Ruby和Python程序.
- Ruby 和 Python 分析器是如何工作的?
你好! 我作为一名编写Ruby profiler的先驱,我想对现有的Ruby和Python profiler如何工作进行一次调查. 这也有助于回答很多人的问题:“你怎么写一个profiler?” 在这 ...
- Ruby. Vs . Python
前言:从语言的本质上来分析,我对Ruby持反对态度,毕竟语言是为了交流,在表达的效率层面为了正确性必须适当放弃复杂性.且有句老话说的好,Ruby In Rails 才是语言,而Ruby只是这个语言的工 ...
- 对比Node.js和Python 帮你确定理想编程解决方案!
世上没有最好的编程语言.有些编程语言比其他编程语言用于更具体的事情.比如,你可能需要移动应用程序,网络应用程序或更专业化的系统,则可能会有特定的语言.但是我们暂时假设你需要的是一个相对来说比较简单的网 ...
随机推荐
- Docker镜像相关操作
批量导入镜像 ll *.tgz|awk '{print $NF}'|sed -r 's#(.*)#docker load -i \1#' |bash 批量打tag docker images | se ...
- doy05循环语法学习笔记
doy05循环语法学习笔记 一.while循环语法: 1.基本用法示例 x = 1 while x <= 5: print(x) x += 1 2.死循环:永远不结束的循环 如:while Tr ...
- nodeJs-Stream接口
JavaScript 标准参考教程(alpha) 草稿二:Node.js Stream接口 GitHub TOP Stream接口 来自<JavaScript 标准参考教程(alpha)> ...
- set、multiset深度探索
set/multiset的底层是rb_tree,因此它有自动排序特性.set中的元素不允许重复必须独一无二,key与value值相同,multiset中的元素允许重复. set的模板参数key即为关键 ...
- Gradle插件详解
参考[1]Gradle 插件 [2]修改 Gradle 插件(Plugins)的下载地址(repositories)
- Linux学习 - 修改、查询文件内容
一.显示文件内容 cat [-n] [文件名] 正向显示 -n 显示行号 tac [文件名] 反向显示 more [文件名] 可实现分页显示 (空格)或(f) 翻页 (Enter) 换行 (q ...
- oracle to_char处理日期
select to_char(sysdate,'d') from dual;--本周第几天 select to_char(sysdate,'dd') from dual;--本月第几天 select ...
- OC-基础数据类型
七 字符串与基本数据类型转换 获取字符串的每个字符/字符串和其他数据类型转换 八 NSMutableString 基本概念/常用方法 九 NSArray NSArray基本概念/创建方式/注意事项/常 ...
- 优化 if-else 代码的 8 种方案
前言 代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案. 方案. 优化方案一:提前return,去除不必要的el ...
- 【Java 8】Stream中flatMap方法
在java 8 Stream中,flatMap方法是一个维度升降的方法 举例说明 给 定 单 词 列 表["Hello","World"] ,要返回列表 [&q ...