本文和大家分享的是使用
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...