Node.js CVE-2017-14849漏洞复现过程

本文介绍了Vulhub靶场平台,详细解读了Node.js和Express框架中的CVE-2017-14849漏洞,包括漏洞影响版本和复现过程。通过学习如何利用这个漏洞,读者可以提升网络安全技能和实战经验。
摘要由CSDN通过智能技术生成

Vulhub靶场介绍

Vulhub 是一个专门用于学习渗透测试和网络安全的虚拟靶场平台,其中包含了大量的漏洞环境和实验场景,供安全从业者进行实践和学习。通过 Vulhub,用户可以模拟真实的漏洞环境,并通过实际操作来理解漏洞原理、利用方法以及相应的防御措施。
要使用 Vulhub 靶场,你可以按照以下步骤进行操作:

  1. 获取 Vulhub:你可以从 Vulhub 的官方网站(https://www.vulhub.org/)上获取 Vulhub 的镜像文件或者源代码,并根据需要进行部署。

  2. 部署 Vulhub:根据 Vulhub 提供的部署文档或者指南,选择合适的部署方式,将 Vulhub 靶场部署到你的本地环境或者云服务器上。

  3. 选择靶场环境:一旦部署完成,你可以通过浏览器访问 Vulhub 靶场的 Web 界面,在其中选择你感兴趣的靶场环境或者漏洞场景。

  4. 学习和实践:进入选定的靶场环境后,你可以根据提供的漏洞描述和场景设置,使用各种渗透测试工具和技术来尝试攻击和利用漏洞,从而深入理解漏洞原理和渗透测试方法。

  5. 记录学习笔记:在实践过程中,及时记录你的学习笔记和经验总结,包括攻击过程中遇到的问题、解决方案以及新学到的知识点。

  6. 参考资料和社区支持:在学习过程中,可以参考相关的网络安全书籍、在线教程和社区论坛,获取更多的学习资源和技术支持。 通过以上步骤,你可以有效利用 Vulhub
    靶场平台来进行渗透测试和网络安全学习,提升自己的安全技能和实战经验。同时,记得在学习过程中注重安全,避免对真实系统和网络造成不必要的影响和风险。

Node.js CVE-2017-14849 漏洞分析

1. 漏洞简介

2017年9月28日,公司扫描器发现某业务存在一例任意文件读取漏洞,团队跟进分析后发现这是Node.js和Express共同导致的一个通用漏洞。在我们准备告知官方时,发现Node.js官网于9月29号给出了漏洞公告,对应的CVE编号为CVE-2017-14849。

1.1 关于Node.js

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

1.2 关于Express

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

1.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

2. 漏洞复现演示

编译及运行环境:

docker compose build
docker compose up -d

访问http://192.168.94.193:3000/即可查看到一个web页面,其中引用到了文件/static/main.js,说明其存在静态文件服务器。
在这里插入图片描述
在这里插入图片描述

使用burpsuite抓取数据包并修改包发送,发送如下数据包,即可读取passwd:
在这里插入图片描述
更多链接可参考腾讯安全应急响应中心:Node.js CVE-2017-14849 漏洞分析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

旺仔Sec

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

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

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

打赏作者

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

抵扣说明:

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

余额充值