smottoms/vulnerable-webapp-lab
GitHub: smottoms/vulnerable-webapp-lab
一个基于 Node.js 的轻量级 Web 安全学习靶场,涵盖多种常见漏洞类型,适合安全入门学习与渗透测试练习。
Stars: 0 | Forks: 0
# DVWAS-Lite — 用于安全测试的漏洞 Web 应用
DVWAS-Lite 是一个包含刻意设计漏洞的 Web 应用,专为**学习 Web 安全、渗透测试和漏洞利用**而设计。
该项目模拟了常见的现实世界 Web 漏洞,以便安全研究人员和学生可以在安全的环境中练习发现和利用这些漏洞。
该实验环境还设计用于配合**迷你 Web Application Firewall (WAF)** 工作,以演示如何检测和阻止攻击。
# 功能特性
• 多个刻意设计的 Web 漏洞
• 逼真的攻击场景
• JWT 认证漏洞演示
• 文件上传漏洞模拟
• SQLite 后端数据库
• 用于测试攻击的简单 UI
• 支持 Docker 以便轻松设置
# 包含的漏洞
### SQL 注入
登录表单存在 SQL 注入漏洞。
示例 payload:
```
' OR 1=1 --
```
### 存储型跨站脚本攻击
用户评论在未经处理的情况下直接渲染。
示例 payload:
```
```
### 反射型 XSS
搜索输入直接反射了未经处理的用户输入。
示例:
```
/search?q=
```
### 基于 DOM 的 XSS
JavaScript 使用 `innerHTML` 将用户输入直接插入 DOM 中。
### 文件上传漏洞
上传功能允许上传潜在的危险文件。
这模拟了真实系统中的**远程代码执行 (RCE) 风险**。
### CSRF (跨站请求伪造)
配置文件更新请求缺乏 CSRF 保护。
### 弱 JWT 认证
由于不安全的验证逻辑,JWT token 可能被篡改。
这演示了 JWT 实现中的常见错误。
# 项目结构
```
dvwas-lite
│
├── server.js
├── package.json
├── db.sqlite
│
├── public
│ ├── index.html
│ ├── login.html
│ ├── comment.html
│ ├── search.html
│ ├── upload.html
│ ├── profile.html
│ ├── jwt-login.html
│ └── jwt-admin.html
│
├── routes
│
└── Dockerfile
```
# 本地运行
安装依赖:
```
npm install
```
启动服务器:
```
npm start
```
打开:
```
http://localhost:3000
```
# 使用 Docker 运行
构建镜像:
```
docker build -t dvwas-lite .
```
运行容器:
```
docker run -p 3000:3000 dvwas-lite
```
在浏览器中打开:
```
http://localhost:3000
```
# 教育目的
此应用程序是故意设计为不安全的,适用于:
• 安全专业的学生
• 渗透测试练习
• Web 安全培训
• 演示攻击技术
**请勿将此应用程序部署在生产环境中。**
# 学习成果
通过使用本项目,您将学到:
• 常见的 Web 漏洞是如何运作的
• 攻击者如何利用不安全的 Web 应用程序
• WAF 等 Web 防御如何检测攻击
• 安全编码意识
# 作者
Toms Johnson
网络安全学生 | 有抱负的渗透测试人员
标签:CISA项目, CSRF, CTF训练, DNS 反向解析, Docker, DOM XSS, DVWA, GNU通用公共许可证, JWT安全, MITM代理, Node.js, OPA, RCE, SQLite, WAF, Web安全, Web应用漏洞, XML 请求, XSS跨站脚本攻击, 多模态安全, 安全培训, 安全开发, 安全测试, 安全防御评估, 应用层防火墙, 弱口令, 攻击性安全, 攻击模拟, 数据可视化, 文件上传漏洞, 漏洞演练平台, 编程工具, 网络信息收集, 网络安全, 网络安全审计, 自定义脚本, 蓝队分析, 认证绕过, 请求拦截, 远程代码执行, 隐私保护, 靶场, 驱动签名利用