近期爆了一個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了。

------------恢復內容結束------------
