运用Docker建立Web缝隙测验环境

访客5年前黑客文章874

因为一向在做 Web 缝隙扫描器的开发, 那么就必定少不了 Web 的缝隙测验环境, 其中就包含 bWAPP、DVWA、OWASP WebGoat 等这些国际品牌。
这些缝隙环境一般建立比较繁琐, 并且出问题后有不能像 git 那样便利的’回滚’操作, 当然你能够运用 esxi 来办理, 不过虚拟机仍然会存在定时快照、回滚操作较长等深重操作。
那有没有轻量级的能够快速建立 Web 缝隙的测验环境呢? 答案是有的, 那就是 docker! 接下来咱们就运用 docker 进行环境建立。这儿所触及的项目现已创立在了 github(docker-vulnerability-environment)上。
1、Docker 根本指令
这儿不会过多去解说 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
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 样例
github地址: https://github.com/MyKings/docker-vulnerability-environment/blob/master/bWAPP/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 git@github.com: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 之旅吧!

相关文章

浏览器进犯结构BeEF Part 4:绕过同源战略与浏览器署理

从这一章开端,正式进入了进犯阶段。BeEF供给了很多的进犯模块,能够直接运用。除了已有的模块,BeEF还供给了API,能够运用API来自行开发新的进犯模块。这一章,要介绍怎么绕过同源战略,还会介绍Be...

根据Session的身份盗取

一、Session是什么 暗码与证书等认证手法,一般用于登录进程。用户登录之后,服务器通常会树立一个新的Session保存用户的状况和相关信息,用以盯梢用户的状况。每个Session对应一个标识符Se...

揭秘美国运通网络垂钓活动

咱们看到许多针对电子邮件、银行、PayPal、信用卡以及其他财政凭证的网上欺诈活动。本事例与其他许多事例略有不同,愈加杂乱,旨在加大反网络垂钓东西进行剖析和阻挠的难度。它伪装成美国运通发送给客户有关帐...

SCP指令注入

我最近正在研讨Java文件传输,碰到了一些风趣的问题。这些问题是我在看到一篇博客中的几个示例代码中发现的。这篇文章描述了用Java履行SCP指令的体系,运用的是盛行的JSch库。当我通读整个代码之后,...

谈谈Json格式下的CSRF攻击-黑客接单平台

一、CSRF缝隙简介 csrf缝隙的成因便是网站的cookie在浏览器中不会过期,只需不封闭浏览器或许退出登录,那今后只需是拜访这个网站,都会默许你现已登录的状况。而在这个期间,进犯者发送了结构好的c...

探究Flask/Jinja2中的服务端模版注入(二)

在探究Flask/Jinja2中的服务端模版注入Part1中,我开端的方针是找到文件的途径或许说是进行文件体系拜访。之前还无法达到这些方针,可是感谢朋友们在之前文章中的反应,现在我现已可以完成这些方针...