知识点:
1、安全开发-NodeJS-开发环境&功能实现
2、安全开发-NodeJS-安全漏洞&案例分析
3、安全开发-NodeJS-特有漏洞
node.js
就是专门运行javascript
的一个应用程序,区别于以往用浏览器解析原生js
代码,node.js
本身就可以解析执行js
代码,并且效率更高更快。
演示案例-WEB开发-NodeJS-安装&语法&模块&安全&原型链污染
环境搭建-NodeJS-解析安装&库安装
0、文档参考:
https://www.runoob.com/nodejs/nodejs-tutorial.html
1、Nodejs安装
https://nodejs.org/en
2、三方库安装(用node.js启用一个网站)
安装命令:
npm install express
npm install body-parser
npm install cookie-parser
npm install multer
npm install mysqlexpress
Express是一个简洁而灵活的node.js Web应用框架body-parser
node.js中间件,用于处理 JSON, Raw, Text和URL编码的数据。cookie-parser
这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。multer
node.js中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。mysql
Node.js来连接MySQL专用库,并对数据库进行操作。
功能实现-文件操作&目录遍历&文件读取
0、文件操作
1、Express开发(起一个网站接口)
2、加入传参接受
返回值
请求值
3、实现文件读取/目录遍历
任意文件读取
目录遍历
功能实现-链接数据库&SQL注入
0、mysql数据库操作
1、Express开发
2、SQL注入
功能实现-命令执行(RCE)
1、eval
2、exec & spawnSync
原型链污染
如果攻击者控制并修改了一个对象的原型,(__proto__)
那么将可以影响所有和这个对象来自同一个类、父祖类的对象。CTF方向
参考:https://f1veseven.github.io/2022/04/03/ctf-nodejs-zhi-yi-xie-xiao-zhi-shi/
NodeJS安全
1、SQL注入&文件操作
2、RCE执行&原型链污染
2、NodeJS黑盒无代码分析
实战测试NodeJS安全
判断:参考前期的信息收集
黑盒:通过对各种功能和参数进行payload测试
白盒:通过对代码中写法安全进行审计分析