qazbnm456/VWGen
GitHub: qazbnm456/VWGen
基于 Docker 的可定制漏洞 Web 应用生成器,用于安全教学与 CTF 靶场搭建。
Stars: 85 | Forks: 16
# 易受攻击的 Web 应用程序生成器
这是 `VWGen` 的 Git 仓库,其全称为 *Vulnerable Web applications Generator*。
**相关链接:**
[Github](https://github.com/qazbnm456/VWGen)
**目录**
* [版本发布](#releases)
* [当前状态](#status)
* [功能特性](#feature)
* [安装说明](#install)
* [使用说明](#instruction)
* [简介](#brief)
* [已知问题](#issue)
* [贡献](#contribute)
* [许可证](#license)
## 版本发布
- 0.1.0 -- 初始版本
- 0.2.0 -- 现在,VWGen 也可以作为 [Tsaotun](https://github.com/qazbnm456/tsaotun) 的插件之一了。 :tada:
## 当前状态
1. 目前支持的模块非常有限,例如 [SQLI](https://www.owasp.org/index.php/SQL_Injection)、[NOSQLI](https://www.owasp.org/index.php/Testing_for_NoSQL_injection)、[LFI](https://www.owasp.org/index.php/Testing_for_Local_File_Inclusion)、[CRLF](https://www.owasp.org/index.php/CRLF_Injection)、[Command Injection](https://www.owasp.org/index.php/Command_Injection) 和 [XSS](https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)。
2. 有两个重要的模块在部署易受攻击的 Web 应用程序中扮演着至关重要的角色。
- *unfilter* 模块会抓取网站并找到需要被参数替换的关键词。
- *expand* 模块会学习网站结构,并尝试重新排列元素,以便让子模块能在其中插入它们的 payload。
3. 目前仅有两套主题。
4. **目前不支持 Python3!**
5. `--file` 选项可以运行,但仍需进一步开发。示例命令:`./VWGen.py --file="$VWGen_HOME/examples/2016_ais3_web3/sample.py"`
## 功能特性
`--file` 选项使得共享 Web 挑战变得非常容易。您只需提供一个自定义脚本,用于定义漏洞的生成或触发方式,其他人只需加载该脚本,即可立即生成相同的易受攻击的 Web 应用程序。
根目录下有一个 [examples/](https://github.com/qazbnm456/VWGen/tree/master/examples) 目录,我会在其中放置一些示例脚本。现在,我们已经有许多脚本了!
## 安装说明
1. 安装 docker 二进制文件。仅支持 1.11.0 及以上版本。请查阅官方 [安装指南](https://docs.docker.com/linux/)。
2. 运行 `sudo apt-get install -y libcurl4-gnutls-dev libcurl4-nss-dev libcurl4-openssl-dev` 以确保 `pycurl` 正常工作。
3. 拉取 VWGen 将要使用到的基础镜像:
- `docker pull richarvey/nginx-php-fpm:php5`
- `docker pull richarvey/nginx-php-fpm:php7`
- `docker pull mysql:5`
- `docker pull phpmyadmin/phpmyadmin:4.6.5.1-1`
- `docker pull node:7`
4. 安装 lxml:`apt-get install python-lxml`。
5. 克隆 [VWGen](https://github.com/qazbnm456/VWGen) 并 `cd` 进入该目录。
6. 安装依赖包:
1. 通过 `pip`
- `pip install -r requirements.txt`
2. 通过 `pipenv`
- `pip install pipenv`
- `pipenv install`
- `pipenv shell` 或 `pipenv shell --fancy`
7. 输入 `./VWGen.py --help` 以测试其是否正常工作,或查看下文获取更多说明。
## 使用说明
```
Usage: VWGen.py [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-c, --console enter console mode
--backend=BACKEND configure the backend (Default: php)
--theme=THEME configure the theme (Default: startbootstrap-
agency-1.0.6)
--expose=EXPOSE_PORT configure the port of the host for container binding
(Default: 80)
--database=DBMS, --db=DBMS
configure the dbms for container linking
--modules=LIST list of modules to load (Default: +unfilter)
--color set terminal color
-v, --verbose set verbosity level
Under development:
Following options are still in development!
--file=FILENAME specify the file that VWGen will gonna operate on
```
## 简介
生成的漏洞类型将取决于您在启动 VWGen 时设置的模块,以下是 VWGen 的一些屏幕截图:
- `./VWGen.py -c` - 进入控制台模式。
- `./VWGen.py` - 使用一些默认参数启动 VWGen。
- `./VWGen.py --module="+sqli" --database="MySQL"` - 启动基于 MySQL 的 SQL 注入 VWGen。
- `./VWGen.py --module="+exec"` - 启动带有命令注入漏洞的 VWGen。
## 已知问题
1. [mod_expand.py](https://github.com/qazbnm456/VWGen/blob/master/core/attack/mod_expand.py) 可以生成不同的扩展,但仍需要用户交互来修改源代码(已提供警告信息)。
## 贡献至 VWGen
| Linux | Windows | MacOSX |
|------------------|---------|---------|
|  |  |  |
想要丰富 VWGen 能够激发的无限可能吗?立即提交 pull requests 或 issues 吧!
## 许可证
本项目使用 [Apache License, Version 2.0](https://github.com/qazbnm456/VWGen/blob/master/LICENSE)。





标签:CISA项目, CRLF注入, LFI, Maven, MITM代理, NoSQL注入, Python, Web安全, XSS, 命令注入, 安全测试, 攻击性安全, 无后门, 本地文件包含, 漏洞情报, 漏洞演练, 漏洞靶场, 漏洞验证, 网络安全, 自动化分析, 蓝队分析, 请求拦截, 跨站脚本, 逆向工具, 防御检测, 隐私保护, 靶场环境, 靶机生成