在 Ubuntu 20.04 LTS 上安裝 WebGoat

OWASP WebGoat 是一個蓄意製造的不安全網站環境,讓我們可以練習平常不容易實作的 Web 應用程式上的弱點。WebGoat 在 Windows、Linux 和 macOS 上都可以執行。以下將記錄在 Linux 上面執行 WebGoat 的過程。

在 WebGoat 的 GitHub 頁面上的提供的安裝方式有四種,這篇文章會用 Docker 的方式來進行

  1. Run using Docker
  2. Standalone
  3. Run from the sources
  4. Run with custom menu

環境說明與事前準備

OS:Ubuntu 20.04 LTS
Docker:Docker Engine – Community 20.10.21

本次用到的程式資訊
WebGoat 的 GitHub 頁面

安裝步驟

先安裝必要的工具,如果已經有的話可以跳過這個步驟

$ sudo apt install git openjdk-17-jdk-headless maven

執行 docker 命令,因為其實 8080 在一些常見工具上還算是常用 port, 為了避免衝突,我們把 port 映射由 8080 和 9090 改成 8081 和 9081。

$ sudo docker run -it -p 127.0.0.1:8081:8080 -p 127.0.0.1:9091:9090 -e Asia/Taipei webgoat/webgoat

當看到訊息 Started StartWebGoat in 1.537 seconds (JVM running for 18.343) 之後,就完成啦!

 

檢視成果

打開瀏覽器並輸入 http://127.0.0.1:8081/WebGoat,就可以看到登入頁面了。

這邊請先幫自己註冊一個帳號並登入。

登入後就可以進入 WebGoat,開始練習了!


在 Ubuntu 20.04 LTS 上運行 Mutillidae2 — 使用 Docker

最近在學習一些資安的東西,順便記錄一下:

OWASP Mutillidae II 是一個內建歷年 OWASP Top 10 漏洞的練習靶機,當我們需要食作滲透測試時,我們就可以架設這樣的練習靶機作為攻擊對象,不要真的去打別人,免得獲得看守所參觀機會。

這類環境安裝的方式有許多種,這邊示範使用 Docker compose 的方式,仰賴前人的力量,比較快樂。 😀

環境說明與事前準備

環境說明:
OS:Ubuntu 20.04 LTS
Docker:Docker Engine – Community 20.10.21 & Docker Compose v2.12.2
另外本次操作是使用雲端主機,而靶機上的服務又限制只能從本機存取,所以安裝後還會有設定 SSH Tunnel 的說明。

本次用到的程式資訊
Mutillidae 的 GitHub
webpwnized/mutillidae-docker (這次下載的是它)
Docker 官網的安裝說明Install Docker Engine on Ubuntu

安裝步驟

我們假設大家已經安裝好 Docker 了,如果還沒的話,可以參考上面的資訊進行。

首先請在你的工作目錄下 clone webpwnized/mutillidae-docker 專案,完成後進入專案資料夾

# git clone https://github.com/webpwnized/mutillidae-docker.git
# cd mutillidae-docker

我們可以查看一下 docker-compose.yml 這個檔案,可以知道作者設計執行 database, database_admin, www, directory, directory_admin 這 5 個 service 來運行整個 Mutillidae2。如果有想要修改 port 映射的話可以直接修改這份文件,不過我們這次按照作者提供的設定就好。

接下來只要執行 docker compose up,就可以運行 Mutillidae2 了。
注意:參考的教學資訊中使用的是 docker-compose 指令,但會遇到找不到指令的問題,不過實測使用 docker compose 指令就可以運行了。

# docker compose up

到這邊如果順利的話,就幾乎安裝完成了!我們可以檢查一下 container 是否運作,並且順便查看我們應該連到哪些 port。
這邊我們可以看到如同 docker-compose.yml 設計的,80 port 會是我們的網站入口,而 81 port 是 phpMyAdmin。

設定 SSH Tunnel

這時候我開心地打開瀏覽器輸入 IP …,诶!怎麼不能連線!

因為 Mutillidae2 只允許從本機存取,而我們這次又是使用沒有 GUI 的主機,所以這邊我們建立一個 SSH Tunnel,來讓我們可以直接連回 Mutillidae2 主機吧!當然,如果你直接在自己的電腦上安裝 Mutillidae2,或者是安裝在有 GUI 的主機上,就可以直接用 http://127.0.0.1/ 瀏覽網頁了。


建立 80 port 與 81 port 映射的 SSH Tunnel 指令如下:

ssh -L 80:127.0.0.1:80 -L 81:127.0.0.1:81 {username}@{host}

The database server appears to be offline.

這時候我們打開首頁的時候會發現,似乎怪怪的,資料庫不見了嗎?!
不緊張,頁面上有一個「Click Here」的連結,勇敢按下去吧!大不了壞了重新安裝。
(抱歉這張截圖遺失了)
之後會出現一個對話框提示繼續,這邊點選「確定」,執行完就完成囉!

檢視成果

到這邊!就已經完成啦,可以暢遊 Mutillidae2。





Linux Screen指令 登出而不中斷作業!

系統管理員經常地需要使用SSH等遠端登入到Linux伺服器做管理的動作,而經常需要運行一些需要較長時間才能完成的任務,像是系統備份、資料匯入、檔案傳輸等等。 而這些時候,是不是就必須開著SSH畫面不能關機呢?或者是害怕突然斷線?

其實,我們只要運用”Screen” 這個指令,就可以為個別任務建立一個”視窗”,讓它安穩地在裡面運行,還可以隨時退出/回到這個視窗。 Continue Reading


Firefox 複製中文網址 變成亂碼

現在越來越多網站使用中文作為頁面網址,可是複製或分享給他人的時候,卻變成像是下面這樣的亂碼:

http://writesnow.net/2014/09/firefox%E8%A4%87%E8%A3%BD%E4%B8%AD%E6%96%87%E7%B6%B2%E5%9D%80%E8%AE%8A%E6%88%90%E4%BA%82%E7%A2%BC/

好好的一串中文網址,卻變得沒有人看得懂了! Continue Reading