最近,我迷上了Docker,它轻量级、易移植的特性深受我喜爱。为了学习挖洞知识,我决定在本地搭建一个Docker版的wooyun。经过一番搜索,我发现只有VM版的资源,而在Docker Hub上下载的却不是wooyun漏洞库,而是漏洞靶场。为了方便自己以后使用,也为了填补网上缺少这种版本的空缺,我决定动手开始搭建!
首先,我搭建了环境:CentOS 7、Apache、MariaDB和PHP。接下来,我采用了LNMP一键安装包无人值守的方式进行搭建。具体操作如下:
1. 下载lamp安装包:`wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz`;
2. 解压安装包并进入解压后的目录:`tar zxf lnmp1.7.tar.gz && cd lnmp1.7`;
3. 配置LNMP脚本,其中`DBSelect`表示MariaDB 5.5(对应MySQL 5.6),`PHPSelect`表示PHP 5.6,`SelectMalloc`表示不安装内存分配器,`ApacheSelect`表示Apache 2.2。其他参数请参考官方文档:https://lnmp.org/faq/v1-5-auto-install.html;
4. 设置自动安装选项:`LNMP_Auto=y`,`DBSelect=6`,`DB_Root_Password=${DB_Root_Password}`,`InstallInnodb=y`,`PHPSelect=5`,`SelectMalloc=1`,`ApacheSelect=1`,`ServerAdmin=`;
5. 执行安装脚本:`./install.sh lamp`。
在这个过程中,我遇到了一个问题:当lnmp无人值守脚本选择DB为mysql(而不是mariadb)时,安装完成后不会自动退出,会停留在"completed! enjoy it"。这样会导致Dockerfile构建失败。后来我换成了mariadb,问题才得到解决。
此外,我还对代码进行了一些改进,使其支持多关键字搜索和在漏洞详情中搜索。同时,漏洞详情图片支持相对路径读取本地图片。最后,代码适应PHP 5.6。整个过程主要参考了hanc00l的wooyun_final代码,并进行了相应的改动。
. 将bug_detailphp中的图片路径更改为相对路径,这样就可以正常读取本地图片,而不需要查找在线图片。修改后的代码如下:
```php
```
2. 增加picture目录和图标。
3. 增加upload和部分图片。
请使用以下命令运行容器,并将漏洞详情图片解压到宿主机的指定目录以查看图片:
```bash
docker run --privileged=true --name wooyun -v ~/upload:/home/wwwroot/default/upload -p 5000:80 -dit v7hinc/wooyun:latest /bin/bash
```
接下来,您可以通过访问 http://IP:5000 来查看漏洞详情。请注意,如果无法查看图片,您需要下载图片资源并将其解压到 docker 宿主机的 `~/upload` 目录下(如果未指定宿主机挂载目录,则解压到 "Source" 对应的路径)。
效果图如下:
|容器内相关软件安装目录|
|---------------------------|
|Apache目录:/usr/local/apache/ |
|MariaDB目录:/usr/local/mariadb/ |
|MariaDB数据库所在目录:/usr/local/mariadb/var/ |
|PHP目录:/usr/local/php/ |
|默认网站目录:/home/wwwroot/default/ |
容器内相关配置文件位置:
|配置文件名称 |配置文件位置|
|---------------|------------|
|Apache配置文件:/usr/local/apache/conf/httpd.conf |
|Apache虚拟主机配置文件目录:/usr/local/apache/conf/vhost/ |
|Apache默认虚拟主机配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf |
|虚拟主机配置文件名称:/usr/local/apache/conf/vhost/*.conf |
|MySQL配置文件:/etc/my.cnf |
|PHP配置文件:/usr/local/php/etc/php.ini |
|php-fpm配置文件:/usr/local/php/etc/php-fpm.conf |
其他说明:
本程序仅供技术研究和个人使用,其组件均为开源程序。漏洞和知识库来源于乌云公开漏洞,版权归 wooyun.org 所有。