freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

VulnNodeApp:一款包含大量安全漏洞的Node.js安全练习平台
Alpha_h4ck 2024-08-09 10:10:24 109275

关于VulnNodeApp

VulnNodeApp是一款包含大量安全漏洞的Node.js应用程序,VulnNodeApp基于Node.js开发,本质上是一个使用 node.js、express 服务器和 ejs 模板引擎制作的易受攻击的应用程序。对于红队和蓝队安全研究人员来说,可以将其视作一个安全练习平台来使用。

漏洞覆盖

当前版本的VulnNodeApp引入了下列常见安全漏洞:

1、SQL 注入

2、跨站点脚本 (XSS)

3、不安全的直接对象引用(IDOR)

4、命令注入

5、任意文件检索

6、正则表达式注入

7、外部 XML 实体注入 (XXE)

8、Node.js 反序列化

9、安全配置错误

10、不安全的会话管理

11、即将增加新的漏洞,例如CORS、模版注入等...

工具要求

Node.js

Express

EJS

工具安装

由于该工具基于Node.js开发,因此我们首先需要在本地设备上安装并配置好最新版本的Node.js环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/4auvar/VulnNodeApp.git

工具配置

应用程序设置

1、使用 npm 安装最新的 node.js 版本;

2、打开终端/命令提示符并导航到下载/克隆的存储库的位置;

3、运行下列命令:

npm install

数据库设置

1、安装并配置最新的 mysql 版本并启动 mysql 服务/守护进程;

2、以root用户登录mysql并运行以下sql脚本:

CREATE USER 'vulnnodeapp'@'localhost' IDENTIFIED BY 'password';

create database vuln_node_app_db;

GRANT ALL PRIVILEGES ON vuln_node_app_db.* TO 'vulnnodeapp'@'localhost';

USE vuln_node_app_db;

create table users (id int AUTO_INCREMENT PRIMARY KEY, fullname varchar(255), username varchar(255),password varchar(255), email varchar(255), phone varchar(255), profilepic varchar(255));

insert into users(fullname,username,password,email,phone) values("test1","test1","test1","test1@test.com","976543210");

insert into users(fullname,username,password,email,phone) values("test2","test2","test2","test2@test.com","9887987541");

insert into users(fullname,username,password,email,phone) values("test3","test3","test3","test3@test.com","9876987611");

insert into users(fullname,username,password,email,phone) values("test4","test4","test4","test4@test.com","9123459876");

insert into users(fullname,username,password,email,phone) values("test5","test5","test5","test5@test.com","7893451230");

设置基本环境变量

用户需要设置以下环境变量:

DATABASE_HOST(例如:localhost、127.0.0.1 等...)

DATABASE_NAME(例如:vuln_node_app_db 或您在上面的 DB 脚本中更改的 DB 名称)

DATABASE_USER(例如:vulnnodeapp 或您在上面的 DB 脚本中更改的用户名)

DATABASE_PASS(例如:密码或您在上面的 DB 脚本中更改的密码)

启动服务器

1、打开命令提示符/终端并导航到存储库的位置;

2、运行命令:

npm start

3、通过下列地址访问应用程序即可;

http://localhost:3000

项目地址

VulnNodeApp:【GitHub传送门

参考资料

https://twitter.com/4auvar

# web安全 # 练习平台 # nodejs # 练习靶机 # NodeJS安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1023 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录