位置: 编程技术 - 正文

浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)(浅谈特殊儿童的融合教育论文)

编辑:rootadmin

推荐整理分享浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)(浅谈特殊儿童的融合教育论文),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:浅谈特殊儿童的融合教育论文,浅谈特殊儿童的融合教育论文,浅谈如何培养孩子的注意力,浅谈双减背景下的高效课堂,浅谈双减背景下的高效课堂,浅谈特殊儿童的融合教育论文,浅谈是什么意思,浅谈是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

0x 前言

早上看Sec-news安全文摘的时候,发现腾讯安全应急响应中心发表了一篇文章,Node.js CVE-- 漏洞分析( 漏洞简介

CVE( 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was incompatible with the pathname validation used by unspecified community modules.

换成我们看的懂的意思就是node.js 8.5.0 到8.6.0 之间的版本会造成目录穿越漏洞,读取任意文件,而漏洞的原因是因为对”..”的处理和另外的模块不兼容。

打个比喻就是有一个人开发这个模块,另外的一个人开发另外个模块,大家对于这个东西的处理不一样,从而导致出现了漏洞。而这里的模块就是node.js 和 express。

影响版本:

Node.js 8.5.0 + Express 3..0-3..2Node.js 8.5.0 + Express 4..0-4..5

0x node.js是什么

Node.js® 是一个基于 Chrome V8 引擎的 JavaScript 运行时。 Node.js 使用高效、轻量级的事件驱动、非阻塞 I/O 模型。它的包生态系统,npm,是目前世界上最大的开源库生态系统。(抄从官网)

0x express是什么

Express是基于 Node.js 平台,快速、开放、极简的 web 开发框架。(同样抄从官网)

0x 如何复现

下面采用腾讯云开发者实验室搭建环境进行快速复现。

复现准备:

0. 腾讯云开发者实验室的云主机一台 (我这里用的是《基于 Ubuntu 搭建微信小程序服务》的实验主机 ubuntu . 位)

1. node.js 8.5.0 ( express-4..5 ( burpsuite

Step 1安装node.js 8.5.0

下载node.js 8.5.0安装包

解压安装包

移到通用软件安装目录/opt

浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)(浅谈特殊儿童的融合教育论文)

安装 npm 和 node 命令到系统命令

验证一下:

输出版本号则表示配置成功

Step2 安装express-4..5

下载express-4..5

解压压缩包

进入express目录下,安装express

进入到expresss-4..5/examples/static-files目录里

Step 3 发送payload验证

Payload: /../../../a/../../../../etc/passwd

0x 漏洞原理分析

为什么payload会是这样的呢?请参考腾讯应急响应中心的那篇文章( 来托管的情况下,因为在这种情况下才会使用normalize函数进行path标准化。(发现来源于p神的分析)

比如代码这样写:

那么payload应该是

但代码如果是这样写的话:

那么payload应该为:

0x 后记

复现很简单,但分析原理很难。至少我现在还没弄明白。等我弄明白了,再写写怎么分析与跟踪吧。

其实这里有一个挺有意思的点,那就是一些重大漏洞的追踪问题,关于这个漏洞官方早在九月份就已经发布了说明,而这个问题是在最近才得到重视,很明显就算是腾讯也没有第一时间去跟踪CVE的更新列表。

而在腾讯发了这篇文章之后,P神把复现环境给弄到了vulhub(

nodejs判断文件、文件夹是否存在及删除的方法 本文实例讲述了nodejs判断文件、文件夹是否存在及删除的方法。分享给大家供大家参考,具体如下:判断文件、文件夹是否存在需要使用nodejs的fs模块引

node.js基于fs模块对系统文件及目录进行读写操作的方法详解 本文实例讲述了node.js基于fs模块对系统文件及目录进行读写操作的方法。分享给大家供大家参考,具体如下:如果要用这个模块,首先需要引入,fs已经

Node之简单的前后端交互(实例讲解) node是前端必学的一门技能,我们都知道node是用的js做后端,在学习node之前我们有必要明白node是如何实现前后端交互的。这里写了一个简单的通过原生aj

本文链接地址:https://www.jiuchutong.com/biancheng/368553.html 转载请保留说明!

上一篇:node.js基于express使用websocket的方法(node .js)

下一篇:nodejs判断文件、文件夹是否存在及删除的方法(nodejs 获取文件名)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络