使用Docker如何搭建Web漏洞测试环境?

本文和大家分享的是使用Docker搭建Web漏洞测试环境相关知识,希望对大家学习Docker有所帮助,一起来看看吧。

由于一直在做 Web 漏洞扫描器的开发, 那么就必然少不了 Web 的漏洞测试环境, 其中就包括 bWAPP、DVWA、OWASP WebGoat 等这些国际品牌。

这些漏洞环境一般搭建比较繁琐, 而且出问题后有不能像 git 那样方便的’回滚’操作, 当然你可以使用 esxi 来管理, 不过虚拟机仍然会存在定期快照、回滚操作较长等繁重操作。

那有没有轻量级的能够快速搭建 Web 漏洞的测试环境呢? 答案是有的, 那就是 docker ! 接下来我们就使用 docker 进行环境搭建。

1、Docker 基本命令

使用 docker 前, 需要先安装 docker 的环境, 这里假设环境已安装好。

1.1 基本

.docker info

$ docker info

.docker stats

$ docker stats

.docker version

$ docker version

1.2 镜像

.docker search

$ docker search ubuntu

.docker pull

$ docker pull ubuntu

.docker images

$ docker images

.docker rmi

$ docker rmi <镜像id>

.docker build

$ docker -t <镜像名称>

1.3 容器

.docker run

$ docker run -it –name <容器名称> -p 0.0.0.0:8080:80 ubuntu:14.04 /bin/bash

.docker start

$ docker start <容器名称>

.docker stop

$ docker stop <容器名称>

.docker ps

$ docker ps -a

.docker inspect

$ docker inspect <容器名称>

.docker rm

$ docker rm <容器名称>

2、Dockerfile 编写

2.1 FROM

定义容器的基础系统来自哪个 image, 如: FROM ubuntu:14.04 , image 仓库为 ubuntu tag 为 14.04 的系统。

2.2 MAINTAINER

作者相关信息说明, 一般书写方式为: MAINTAINER <作者名称> <作者邮箱地址>

2.3 ADD

从宿主机拷贝文件到容器内, 一般格式: ADD ./lib /home/lib , 将当前目录下的 lib 目录中的内容拷贝到容器的 /home/lib/ 目录下。

2.4 RUN

在容器内运行命令, 如: RUN apt-get -y update 。

2.5 WORKDIR

切换容器内的当前工作目录, 如: WORKDIR /home/lib/ 。 当你登陆到容器内后,默认就进入 /home/lib 目录。

2.6 EXPOSE

暴漏端口, 把容器端口暴漏给宿主机, 方便在宿主机访问, 如: EXPOSE 1000 。

2.7 CMD

执行一系列命令, 如: CMD ["sh", "./startup.sh"] 。

2.8 Dockerfile 样例

FROM ubuntu:14.04

MAINTAINER MyKings

# 使用国内淘宝源

ADD sources.list /etc/apt/

# 安装服务

RUN apt-get -y update

RUN apt-get -y install php5 php5-mysqlnd mysql-server wget unzip

# 启动 mysql 并设置 root 密码

RUN /etc/init.d/mysql start &&\\

mysql -e "grant all privileges on *.* to ’root’@’localhost’ identified by ’bug’;"&&\\

mysql -u root -pbug -e "show databases;"

# 切换工作目录

WORKDIR /var/www/html/

# 本地拷贝

#ADD ./bWAPP_latest.zip /var/www/html/bWAPP_latest.zip

#RUN unzip /var/www/html/bWAPP_latest.zip

# 下载 bWAPP

RUN wget http://jaist.dl.sourceforge.net/project/bwapp/bWAPP/bWAPP_latest.zip && unzip bWAPP_latest.zip

# 删除默认首页

RUN rm /var/www/html/index.html

# 拷贝启动脚本

ADD ./startup.sh ./

EXPOSE 80

CMD ["/bin/bash", "/var/www/html/startup.sh"]

3、bWAPP 环境搭建

3.1 克隆项目

$ git clone [email protected]:MyKings/docker-vulnerability-environment.git# 进入到 bWAPP 目录

$ cd ./docker-vulnerability-environment/bWAPP

3.2 创建镜像

开始创建 image 镜像。

$ docker build -t bwapp .

等待上面的指令操作完成, 使用 docker images 来查看镜像列表, 可以发现我们 build 好的 bwapp 镜像。

3.3 创建容器

$ docker run -it --name bwapp_vul -p 0.0.0.0:8080:80 bwapp:latest /bin/bash

创建容器并启动交互模式, 把容器的 80 端口映射到宿主机的 8080 端口上。 sh ./startup.sh 启动后端服务。

3.4 开始测试

使用浏览器打开 http://127.0.0.1:8080/bWAPP/ 地址开始你的 Hack 之旅吧!

来源:FreeBuf

时间: 2024-10-05 04:58:19

使用Docker如何搭建Web漏洞测试环境?的相关文章

各种Web漏洞测试平台

Sqli Lab?支持报错注入.二次注入.盲注.Update注入.Insert注入.Http头部注入.二次注入练习等.支持GET和POST两种方式. https://github.com/Audi-1/sqli-labs DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常见的一些安全漏洞.http://www.dvwa.co.uk/ mutilli

在Docker下搭建Apache+PHP+mysql环境的过程记录

在Docker下搭建Apache+PHP+mysql环境的过程记录 这是一篇搭建Docker环境的过程记录,方便以后查看.主要记录了搭建所用到的工具,使用的命令和遇到的坑. 1. 安装Docker 第一步肯定是到Docker的官网(https://www.docker.com)上去下载安装包,目前有CE和EE两个版本,简单来说,CE就是免费版,EE就是收费版.因为我用的是Windows系统,这里就只讲在Windows系统上怎么安装. 也可以点这里直接下载Windows版.下好之后运行安装. 因为

快速搭建虚拟桌面测试环境(NetScaler10.1.119.7、StoreFront、XenDesktop7.5)

经过本人几天的摸索和测试 快速搭建虚拟桌面的步骤如下: 1.制作Windows2008R2的模版(安装上Xentools.dotNet4.0.dotNet4.5.SQLServer2008R2安装准备.关闭IE安全.关闭防火墙,然后使用Sysprep封装,转成模版) 2.使用模版生产3个虚拟机分别命名为AD50,DB49,XD55,PVS56(安装域控,把XD55和PVS56都加入到域中,还有安装一个数据库) 3.在XD55上安装Xendesktop软件,在PVS上安装PVS软件 4.安装Win

巨杉Tech | 使用 SequoiaDB + Docker + Nodejs 搭建 Web 服务器

容器化技术的出现大大简化了应用开发人员在构建底层基础设施的工作.SequoiaDB 巨杉数据库于3.2.1版本正式推出了 Docker 容器化部署方案,本文将会基于 SequoiaDB 巨杉数据库与Nodejs的 Docker 镜像搭建一个简易的 Web 服务器. 1.规划部署我们将会搭建一个三分区三副本的高可用 SequoiaDB 巨杉数据库.同时,我们将会创建一个 SequoiaDB 巨杉数据库的 MySQL 实例,用以提供 Nodejs 作为数据源. 容器角色 容器名/IP:端口 分区组

搭建asp渗透测试环境

win2k3下载地址 http://yun.baidu.com/share/link?shareid=77306757&uk=2852438886 win2003 Enterprise Edition 企业版key(测试可用): JCB3T-9CDQ4-K2X38-2HXRB-VX8YB 安装即可 添加服务器 下一步 添加好一个服务器 设置网络连接 设置IIS管理器 设置web服务扩展 下载绿化苗木源码http://down.chinaz.com/soft/35683.htm 下载好之后安装在如

搭建web前端开发环境

目录: 搭建Web开发环境 1.辅助工具——PS(切图.修图.测量) 2.开发.调试工具——常用开发工具和调试工具的功能介绍和使用方法 内容: 切图设计稿(.pdf文件) ———————————— 产出物(如.png .jpg文件)                          素材切出        为什么切图?                给网页提供图片素材                HTML:img    <img src="images/avatar.jpg"

基于SC2012R2 VMM搭建WS2012R2 HNV测试环境

实验指南:基于System Center 2012 R2 VMM构建Windows Server 2012 R2 Hyper-V Network Virtualization 摘要 本指南将逐步介绍如何利用sc2012r2 vmm搭建HNV测试环境,实验中所有主机和虚拟机操作系统都采用ws2012r2.此次测试使用了4台主机,其中3台将运行虚拟机.只测试配置了hnv转发网关,未配置VPN和NAT网关. 2014-09-04 ------------------------------------

Windows Azure Web Site (10) Web Site测试环境

<Windows Azure Platform 系列文章目录> 我们知道,在使用Azure Cloud Service的时候,会有2个不同的环境,称为Production环境和Staging环境. Windows Azure Cloud Service (5) 由过渡环境向生产环境过渡 - Production环境就是生产环境,DNS地址就是真实的DNS地址 - Staging就是过渡环境,DNS地址是随机的GUID地址.我们可以在Staging环境里先进行测试,测试通过以后可以把Stagin

搭建php渗透测试环境

php服务器下载地址 http://vdisk.weibo.com/s/D9I4jIIfNddvh 在C盘下创建一个www文件夹 安装phpstudy 下一步安装 修改配置文件 将端口改成8080 保存退出 启动phpstudy 打开浏览器输入http://localhost:8080/phpinfo.php,通过查看信息验证是否配置成功 点击phpmyadmin 发现无法加载 需要修改端口,进入管理界面 默认用户名密码都是root 修改密码 会遇到警告提示 添加 之后刷新就不会弹出警告,将新的