【漏洞利用】Node.js 任意文件读取漏洞 CVE-2017-14849 # 附演示

释放双眼,带上耳机,听听看~!
漏洞描述此漏洞是Node.js和Express共同导致的一个通用漏洞,Node.js官网于9月29号公开,对应的CVE编号为CVE-2017-14849漏洞原理关于Node,jsNode.js是一个Javascript运行环境(runtime),发布于2009年5月,由RyanDahl开发,实质是

漏洞描述

此漏洞是Node.js和Express共同导致的一个通用漏洞,Node.js官网于9月29号公开,对应的CVE编号为CVE-2017-14849

漏洞原理

image.png

关于Node,js

Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。

关于Express

Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健、友好的API变得快速又简单。

漏洞影响

Node.js 8.5.0 + Express 3.19.0-3.21.2

Node.js 8.5.0 + Express 4.11.0-4.15.5

漏洞复现

环境搭建:

node.js 8.5.0 (https://nodejs.org/download/release/v8.5.0/)

express-4.15.5 (https://github.com/expressjs/express/releases)

下载到CentOS中,并解压

image.png

image.png

安装node.js

配置环境变量

vim /etc/profile
#nodejs
export NODE_HOME=/opt/Demo/node-v8.5.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
source /etc/profile

node.js安装完成。

image.png

安装express

进入expresss-4.15.5目录下执行

npm install

image.png

运行expresss

node index.js

image.png

环境搭建完成。

访问http://192.168.1.123:3000/

image.png利用

image.png

参考

https://nodejs.org/en/blog/vulnerability/september-2017-path-validation/

https://github.com/nodejs/node/commit/b98e8d995efb426bbdee56ce503017bdcbbc6332#diff-c0fae59301ef49fb71b43278db9ad881

https://github.com/nodejs/node/commit/cfee1c977867defa2866eebb23a9fabec4003f52#diff-c0fae59301ef49fb71b43278db9ad881

https://github.com/pillarjs/send/commit/a472ed304701ef2c091ce4dddb89bdddfccc98da#diff-168726dbe96b3ce427e7fedce31bb0bc

https://security.tencent.com/index.php/blog/msg/121

http://www.jb51.net/article/127896.htm

给TA买糖
共{{data.count}}人
人已赞赏
HackerNews

新思科技完成收购黑鸭子软件公司

2017-12-13 10:12:34

HackerNews

如何优雅的监听女友手机 ?

2017-12-14 8:41:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索