Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dvna — 该死的易受攻击的 NodeJS 应用程序 | Kitploit
工具/GitHubGitHub/appsecco/dvna
漏洞分析Web安全学习与教育实验室与实践
GitHubappsecco/dvna

dvna

该死的易受攻击的 NodeJS 应用程序

查看仓库
7789262年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Damn Vulnerable NodeJS Application (DVNA)

dvna-logo

Damn Vulnerable NodeJS Application (DVNA) 是一个简单的 NodeJS 应用程序,用于演示 OWASP Top 10 漏洞 并提供修复和避免这些漏洞的指南。fixes 分支包含漏洞的修复代码。OWASssP Top 10 2017 漏洞的修复在 fixes-2017 分支。

该应用程序由常用的库驱动,例如 express、passport、sequelize 等。

开发者安全指南书

该应用程序附带一本 开发者友好的全面指南书,可用于学习、避免和修复漏洞。该指南位于 docs 目录下,涵盖以下内容:

  1. 设置 DVNA 的说明
  2. 利用漏洞的说明
  3. 漏洞代码片段及修复漏洞的说明
  4. 避免此类漏洞的建议
  5. 进一步学习的参考资料

本版本的博客文章位于 https://blog.appsecco.com/damn-vulnerable-nodejs-application-dvna-by-appsecco-7d782d36dc1e

您可以使用以下命令设置本地 gitbook 服务器来访问文档。文档将在 http://localhost:4000 上访问。

root@kitploit:~
cd docs/
docker run --rm -v `pwd`:/gitbook -p 4000:4000 --name gitbook amontaigu/gitbook gitbook serve

快速开始

使用 Docker 通过单个命令尝试 DVNA。此设置使用 SQLite 数据库而不是 MySQL。

root@kitploit:~
docker run --name dvna -p 9090:9090 -d appsecco/dvna:sqlite

在 http://127.0.0.1:9090/ 访问应用程序。

开始使用

DVNA 可以通过三种方式部署:

  1. 对于开发者:使用 docker-compose,代码更新时自动重载
  2. 对于安全测试人员:使用 Docker Hub 的官方镜像
  3. 对于高级用户:完全手动设置

详细的设置和要求说明请参阅 Gitbook 指南。

1. 开发环境设置

克隆此仓库

root@kitploit:~
git clone https://github.com/appsecco/dvna; cd dvna

创建包含所需数据库配置的 vars.env 文件

root@kitploit:~
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes

使用 docker-compose 启动应用程序和数据库

root@kitploit:~
docker-compose up

在 http://127.0.0.1:9090/ 访问应用程序。

应用程序在代码更改时会自动重载,因此可以随意修补和调试应用程序。

使用官方 Docker 镜像

创建一个名为 vars.env 的文件,包含以下配置

root@kitploit:~
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_HOST=mysql-db
MYSQL_PORT=3306

启动一个 MySQL 容器

root@kitploit:~
docker run --rm --name dvna-mysql --env-file vars.env -d mysql:5.7

使用官方镜像启动应用程序

root@kitploit:~
docker run --rm --name dvna-app --env-file vars.env --link dvna-mysql:mysql-db -p 9090:9090 appsecco/dvna

在 http://127.0.0.1:9090/ 访问应用程序并开始测试!

手动设置

克隆仓库

root@kitploit:~
git clone https://github.com/appsecco/dvna; cd dvna

使用数据库信息配置环境变量

root@kitploit:~
export MYSQL_USER=dvna
export MYSQL_DATABASE=dvna
export MYSQL_PASSWORD=passw0rd
export MYSQL_HOST=127.0.0.1
export MYSQL_PORT=3306

安装依赖

root@kitploit:~
npm install

启动应用程序

root@kitploit:~
npm start

在 http://localhost:9090 访问应用程序

待办事项

  • 将提交链接到文档中的修复
  • 添加 OWASP Top 10 2017 中的新漏洞
  • 改进应用程序功能和文档

贡献

如果应用程序中发现错误,请在 github 上创建 issue。非常欢迎 Pull requests!

感谢

Abhisek Datta - abhisek 提供的应用程序架构和前端代码

许可证

MIT

下载工具