近期爆了一个nodejs下面的Mongo-express的rce漏洞,刚好趁这个机会对nodejs的debug调试这块研究一下。
采用vscode来进行对nodejs源码的调试。
CVE-2019-10758 PoC
Setup
docker pull mongo docker run -p 27017:27017 -d mongo npm install mongo-express@0.53.0 cd node_modules/mongo-express/ && node app.js
首先vscode工作区要在mongo-express目录下面,如果不在这个含有package.json同目录下,打断点,开调试会在断点爆Breakpoint set but not yet bound错误。
然后vscode建立launch.json的调试文件
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "启动程序", "skipFiles": [ "<node_internals>/**" ], "program": "${workspaceFolder}/app.js" } ] }
然后在app.js下面打一个随便的断点,就可以获取到断点信息进行debug了。
------------恢复内容结束------------