[微慑网 http://vulsee.com]
1、fs模块-readdir()方法
获得指定目录下,所有文件的列表;读取a文件夹中的所有文件列表,readdir方法只读一层;由于获取的文件列表files为数组形式,可以进行循环遍历操作
2、在vscode中,为什么输入node –inspect app.js出不来Debugger attached 进不了F5的状态
解决:[微慑网 http://vulsee.com]
ctrl+shift+p 搜索auto debug
未设置时,在左下角没有auto attach on:
3、测试:按键F10 可以进入调试模式
4、当debug界面消失不见时:
调出debug console
5、格式化代码:[微慑网 http://vulsee.com]
::点击下面大括号
6、REPL 读取执行打印循环
ReadExecPrintLoop
7、F5运行 –打断点–访问页面–触发断点
8、我们希望让vscode使用npm的方式启动并调试,这就需要如下的配置
9、出现报错:npm ERR! Invalid package.json
解决:缺少package.json文件,使用npm init生成 并进行配置即可
[微慑网 http://vulsee.com]
10、安装模块:
全局安装(npm目录下)
npm i nodemon -g
局部安装 (当前项目目录下)
npm install nodemon –save
11、在权限校验中,如果手动修改请求路径大小写,会发现没有权限的页面也可以访问
12、nodejs不能代码热更新,现有的方法(如supervisor,nodemon)都是检测到文件改动就自动重启node
[微慑网 http://vulsee点com]
13、在nodejs里调用执行系统命令:
14、nodeJS服务需要重启才能执行。执行的路子我建议你跳过。你可以试试这个系统有没有调用系统命令的地方,然后替换系统命令。
::当存在任意文件读取,任意文件写入时,可在路由文件中引入chid_prscess模块,通过exec()执行命令执行;但不知道热更新,除非如12所写;
15、注:
nodejs 还是多找找 SSJI 漏洞 本质和一句话一样
router.post(‘/api’, function(req, res) {
var data = eval(“data = (” + req.body.password + “)”);
}比方说这样的代码
POST password=res.write(‘ok’) 就能回显ok
16、参考菜刀nodejs,需要加载到路由配置入口
[nodejs]Customize.js
来自 <https://www.t00ls.net/viewthread.php?tid=30907&extra=&highlight=nodejs&page=1>
17、Nodejs远程调试漏洞 默认端口9229
NOdejs调试开启9229端口,如果外联则存在安全风险[微慑网 http://vulsee.com]
https://www.t00ls.net/viewthread.php?tid=52905&highlight=nodejs
18、nodejs调试文档指南:
https://nodejs.org/zh-cn/docs/guides/debugging-getting-started/
https://code.visualstudio.com/Docs/editor/debugging
https://code.visualstudio.com/docs/nodejs/nodejs-tutorial
https://nodejs.org/en/docs/guides/debugging-getting-started/
https://www.jianshu.com/p/6ec035b92740
19、Node.js反序列化远程代码执行漏洞通告CVE-2017-5941
https://www.t00ls.net/viewthread.php?tid=38116&highlight=node.js
[微慑网 http://vulsee.com]
20、Node.js反序列化利用Exp
https://www.t00ls.net/viewthread.php?tid=38111&highlight=node.js
21、CVE-2018-7160和Chrome DevTools协议说明
https://blog.ssrf.in/post/cve-2018-7160-chrome-devtools-protocol-memo/
22、利用vscode调试nodejs代码实践总结
https://segmentfault.com/a/1190000012081882
23、先知论坛上关于nodejs都漏洞挖掘分享:
https://xz.aliyun.com/search?keyword=nodejs
24、npm查看模块版本
npm view 模块 version
[微慑网 http://vulsee.com]
25、npm安装指定版本模块
npm install 模版@版本号 -g / –save
26、Node.js中package.json中库的版本号详解:
[1]、 ~ 匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0
[2]、^ 匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0
[3]、* 意味着安装最新版本的依赖包