欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 第38天:Web开发-JS应用NodeJS原型链污染文件系统Express模块数据库通讯审计

第38天:Web开发-JS应用NodeJS原型链污染文件系统Express模块数据库通讯审计

2025/1/21 18:14:58 来源:https://blog.csdn.net/wusaicyq/article/details/145236745  浏览:    关键词:第38天:Web开发-JS应用NodeJS原型链污染文件系统Express模块数据库通讯审计
#知识点

1、安全开发-NodeJS-开发环境&功能实现

2、安全开发-NodeJS-安全漏洞&案例分析

3、安全开发-NodeJS-特有漏洞&代码审计

一、环境搭建-NodeJS-解析安装&库安装

文档参考(nodeJS菜鸟教程):

https://www.runoob.com/nodejs/nodejs-tutorial.html

补充nodejs相关知识->提高认识理解:

可以把nodeJS当作一个运行环境,基于Google的V8引擎,专门运行javascript;

传统js语言,源代码可以在前端浏览器查阅,基于网站apache,通过浏览器解析显示出网站界面;

nodeJS是运行在服务端,源代码前端查阅不到,不需要apache,只需安装、配置nodeJS中相应的库,就能解析代码,从而显示网站页面;在这里浏览器发挥的作用就变小了;

1、Nodejs安装

https://nodejs.org/en

2、三方库安装

①express

Express是一个简洁而灵活的node.js Web应用框架;通过这个框架,不需要apache,也能显示网站;

②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专用库,并对数据库进行操作。

安装命令:

npm i express

npm i body-parser

npm i cookie-parser

npm i multer

npm i mysql

二、功能实现-NodeJS-数据库&文件&执行

1、基本功能实现

①Express开发

a、访问file.js文件,只有代码,没有解析显示&关闭apache,文件访问不到->如何让其解析显示在网页

b、在没有apache的情况下,导入express库->搭建网站

先启动网站

通过8081端口->浏览器访问网站

c、添加路由->读取文件的命令执行->但是不会在浏览器页面显示

d、res.sen()->在浏览器显示读取到的内容

2、任意文件读取

3、目录遍历

4、数据库操作

①数据库基本连接查询操作

②配置成网站

③sql注入

3、命令执行(RCE)

三、NodeJS安全

1、SQL注入&文件操作

2、RCE执行&原型链污染

原型链污染

如果攻击者控制并修改了一个对象的原型,(__proto__)

那么将可以影响所有和这个对象来自同一个类、父祖类的对象,下图的对象foo,zoo就是来自同一个类,所以用(__proto__)修改foo的原型->导致zoob被修改

3、NodeJS黑盒无代码分析(主要关注点->可控变量是否可以通过参数构造payload)

实战测试NodeJS安全:

判断:参考前期的信息收集

黑盒:通过对各种功能和参数进行payload测试

白盒:通过对代码中写法安全进行审计分析

四、案例应用

1、CTF方向

参考:https://f1veseven.github.io/2022/04/03/ctf-nodejs-zhi-yi-xie-xiao-zhi-shi/

2、代码审计yapi:(省略:比较复杂->目前能力不足)

审计参考:https://mp.weixin.qq.com/s/mKOlTQclji-oEB5x_bMEMg

部署:https://hellosean1025.github.io/yapi/devops/index.html

Docker:

https://github.com/MyHerux/code-note/blob/master/Program/%E5%B7%A5%E5%85%B7%E7%AF%87/Yapi/%E4%BD%BF%E7%94%A8DockerCompose%E6%9E%84%E5%BB%BA%E9%83%A8%E7%BD%B2Yapi.md

3、代码审计:https://mp.weixin.qq.com/s/fe_Kp7fOUiMXLWTY1KxSqg

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com