本來想找一題 CSRF 的練習題來示範,但是一時找不到適合的題目,只好提早來介紹一下 DVWA 這個開源的靶機專案。
靶場相信大家都聽過,就是練習打靶的地方;靶機就是用來練習滲透時攻擊的目標,DVWA 是一個開源的滲透演練系統,並且可以調整難度,應該蠻適合新手練習的 (?)
以前架設 DVWA 稍微有點麻煩,但是今年已經支援 Docker Compose,只需要一個指令就可以架起服務,非常方便!
首先把專案 clone 下來
> git clone git@github.com:digininja/DVWA.git
進到 DVWA 的目錄中
> cd DVWA
確認一下自己的電腦有 Docker 和 Docker Compose,如果沒有的話請參考這邊安裝
> docker version
> docker compose version
接著,啟動!
> docker compose up -d
如果正常啟動的話就可以在跑起來的 container 中看到,除了服務本身還起了一個 DB
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
90d24f48ac0d ghcr.io/digininja/dvwa:latest "docker-php-entrypoi…" About an hour ago Up About an hour 0.0.0.0:4280->80/tcp dvwa-dvwa-1
4b827342f138 mariadb:10 "docker-entrypoint.s…" About an hour ago Up About an hour 3306/tcp dvwa-db-1
預設的連結是:http://localhost:4280
進到登入頁面之後,使用預設帳號密碼登入:admin/password
在 Setup DVWA
的頁面中,底下可以找到 Create / Reset Database
的按鈕
按下去之後重新登入就可以看到題目了!
接著我們點擊左邊的 DVWA Security
,裡面就可以設定難度,預設是 Impossible
XD,我先把它改成 Low
。
⚠️ DVWA 的 README.md 中有寫到該 Application 很容易被打爆,所以千萬別開放到 WAN 給大家打,除非你知道自己在做什麼。
基本的架設就到這邊,雖然我也不是很熟,但有問題的話可以留言一起討論 XD