[滲透測試]滲透測試靶場docker搭建 — —全集
對于初學者來說,僅僅了解漏洞原理是不夠的,還需要進行實操。對于公網上的服務我們肯定不能輕易驗證某些漏洞,否則可能觸犯法律。這是就需要用到靶場。
- 本文主要給大家介紹幾種常見漏洞對應的靶場(個人推薦),如果大家有更好的,歡迎在評論區打出來,大家一起交流。
環境準備:docker安裝
1. Windows/Mac:
mac或Windows系統推薦安裝DockerDesktop可視化應用,安裝成功后自帶docker。
- 官網地址:https://docs.docker.com/desktop/setup/install/mac-install/
2. Linux:apt/yum直接安裝
- apt方式安裝
# 更新軟件
sudo apt-get update
# 安裝docker
sudo apt-get install docker.io
# 啟動docker
sudo systemctl start docker
# 將docker作為服務自啟(可選)
sudo systemctl enable docker
- yum方式安裝
yum install -y yum-utils
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo# 安裝docker
yum install docker
# 啟動docker
systemctl start docker
靶場搭建
1. CSRF/SSRF漏洞:pikachu
CSRF漏洞詳解:https://blog.csdn.net/weixin_45565886/article/details/147232587
SSRF漏洞詳解:https://blog.csdn.net/weixin_45565886/article/details/146994934
# 安裝docker
apt install docker.io# 通過docker搭建靶場
docker run -d -p 8765:80 8023/pikachu-expect:latest
# 瀏覽器輸入下面地址,訪問靶場頁面
http://localhost:8765
初始化靶場,點擊啟動或初始化,配置數據庫信息,然后就可以選擇漏洞模塊進行測試:
2. SQL注入:sqli-labs
SQL注入詳解:https://blog.csdn.net/weixin_45565886/article/details/144769308
# 搜索鏡像
docker search sqli-labs# 選擇合適的鏡像
docker pull acgpiano/sqli-labs# 運行容器
docker run -d --name my-sqli-labs -p 80:80 acgpiano/sqli-labs # 訪問頁面準備打靶
http://localhost
# 點擊頁面Setup/reset Database初始化靶場數據# 設置id,請求數據
http://localhost/Less-2/?id=1
選擇關卡進行挑戰:
3. XSS漏洞:xss-challenge-tour
XSS詳解:https://blog.csdn.net/weixin_45565886/article/details/146162767
# 拉取鏡像
docker pull c0ny1/xss-challenge-tour # 運行容器
docker run -dt --name xss -p 8080:80 --rm c0ny1/xss-challenge-tour
輸入http://localhost:8080/訪問靶場:
4. 目錄遍歷漏洞:webgoat
目錄遍歷詳解:https://blog.csdn.net/weixin_45565886/article/details/145579398
# 拉取鏡像
docker pull webgoat/webgoat-8.0docker pull webgoat/webwolf
docker pull webgoat/goatandwolf# 啟動容器
docker run -p 8888:8888 -p 8080:8080 -p 9090:9090 webgoat/goatandwolf
瀏覽器訪問:http://127.0.0.1:8080/WebGoat,進入靶場頁面:
5. 文件上傳漏洞:upload-labs
文件上傳漏洞詳解:https://blog.csdn.net/weixin_45565886/article/details/145793742
# docker拉取鏡像
docker pull cuer/upload-labs# 運行鏡像
docker run -d -p 8081:80 cuer/upload-labs
瀏覽器輸入http://localhost:8081/ 訪問靶場:
6. 全能靶場:DVWA
除了dvwa,上面的pikachu、webgoat也屬于全能靶場,可以驗證多種漏洞。
# 拉取dvwa鏡像
sudo docker pull vulnerables/web-dvwa# 創建docker網絡
sudo docker network create dvwa-network# 啟動MySQL容器
sudo docker run --name dvwa-db --network dvwa-network -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=dvwa -d mysql:5.7
## -------
如果出現報錯:docker: no matching manifest for linux/arm64/v8 in the manifest list entries.
這是因為docker默認會識別我們當前CPU架構,然后拉取對應版本架構的鏡像。我這里是mac m芯片,對應arm64.但
實際MySQL沒有該架構的版本。因此我們分成兩步走,先通過 --platform linux/x86_64 指定架構拉取鏡像,然后再啟動容器。
sudo docker pull --platform linux/x86_64 mysql:5.7
sudo docker run --name dvwa-db --network dvwa-network -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=dvwa -d mysql:5.7
## -------# 啟動dvwa容器
sudo docker run --name dvwa --network dvwa-network -p 80:80 -d vulnerables/web-dvwa
# 在瀏覽器中訪問 http://localhost/setup.php,選擇“創建數據庫”,這將自動為你創建DVWA所需的數據庫。
## 確保數據庫連接信息是正確的,默認信息是:
## 數據庫主機:dvwa-db
## 用戶名:root
## 密碼:root
## 數據庫名:dvwa
http://localhost/setup.php# 訪問dvwa,初始默認用戶:默認用戶 admin 和密碼 password
http://localhost
點擊下方create,創建數據庫配置:
然后訪問http://localhost,初始默認用戶:默認用戶 admin 和密碼 password:
調整漏洞難度級別: