对nodejs的debug调试方法记录

近期爆了一个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[email protected] 
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": [
                "/**"
            ],
            "program": "${workspaceFolder}/app.js"
        }
    ]
}
对nodejs的debug调试方法记录_第1张图片

 

 然后在app.js下面打一个随便的断点,就可以获取到断点信息进行debug了。

对nodejs的debug调试方法记录_第2张图片

 

 

 

------------恢复内容结束------------

你可能感兴趣的:(对nodejs的debug调试方法记录)