使用Docker如何搭建Web漏洞測試環境?

2021-07-25 16:14:26 字數 3264 閱讀 2455

本文和大家分享的是使用

docker

搭建web漏洞測試環境

學習docker

這些漏洞環境一般搭建比較繁瑣, 而且出問題後有不能像 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 倉庫為 

ubuntutag 為 

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/

# 本地拷貝

# 刪除預設首頁

run rm /var/www/html/index.html

# 拷貝啟動指令碼

add ./startup.sh ./

expose 80

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

3.1 轉殖專案

3.2 建立映象

開始建立 image 映象。

等待上面的指令操作完成, 使用 

docker images來檢視映象列表, 可以發現我們 build 好的 

映象。3.3 建立容器

$ dockerrun

建立容器並啟動互動模式, 把容器的 80 埠對映到宿主機的 8080 埠上。 

sh ./startup.sh啟動後端服務。

3.4 開始測試

使用瀏覽器開啟

位址開始你的 hack 之旅吧!

freebuf

docker 搭建 web 服務環境

docker 概述 docker 是什麼?可以將 docker 理解為打包環境的容器,它可以將環境打包成映象,在需要的時候,再基於該映象來建立容器,這樣所需要的環境就回來了。剛剛提到了 docker 的兩大核心概念,映象和容器。docker映象是為了滿足特殊用途而按照docker的規則製作的應用,有...

如何使用Docker搭建私有的DNSServer

git clone cd dns docker docker build t dns 我們假設會建立repos.rd這個網域名稱為例,ip為 218.8.7.6,配置檔案在 path to dns docker config bind的路徑下。db.rd bind data file forloca...

如何使用Docker搭建私有的DNSServer

git clone cd dns docker docker build t dns 我們假設會建立repos.rd這個網域名稱為例,ip為 218.8.7.6,配置檔案在 path to dns docker config bind的路徑下。db.rd bind data file forloca...