OWASP WebGoat 是一個蓄意製造的不安全網站環境,讓我們可以練習平常不容易實作的 Web 應用程式上的弱點。WebGoat 在 Windows、Linux 和 macOS 上都可以執行。以下將記錄在 Linux 上面執行 WebGoat 的過程。
在 WebGoat 的 GitHub 頁面上的提供的安裝方式有四種,這篇文章會用 Docker 的方式來進行
- Run using Docker
- Standalone
- Run from the sources
- 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,開始練習了!
最近在學習一些資安的東西,順便記錄一下:
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。
Google Chrome 大約是自 76 版發布以後,竟然在網誌列當中隱藏了 www 和 https:// 的網址片段,例如說我瀏覽了 https://www.writesnow.net,網址列只會顯示 “writesnow.net”。
看起來簡潔不過在某些情況上,尤其是希望正確得到網址資訊的人(像我),其實感到非常不便,所以如果想要取消隱藏這些資訊的話,可以嘗試下面的做法。
Continue Reading →
Gitlab didn’t start after update gitlab-ce and reboot, doing following steps to solve.
Problem
[email protected]:~$ sudo gitlab-ctl start
fail: alertmanager: runsv not running
fail: gitaly: runsv not running
fail: gitlab-monitor: runsv not running
fail: gitlab-workhorse: runsv not running
fail: logrotate: runsv not running
fail: nginx: runsv not running
fail: node-exporter: runsv not running
fail: postgres-exporter: runsv not running
fail: postgresql: runsv not running
fail: prometheus: runsv not running
fail: redis: runsv not running
fail: redis-exporter: runsv not running
fail: registry: runsv not running
fail: sidekiq: runsv not running
fail: unicorn: runsv not running
Solution
sudo systemctl start gitlab-runsvdir
then
sudo gitlab-ctl restart
Yahooooooo!!
因為原本 Ubuntu 上的sda是一顆256GB的SSD, 而後來空間不足了,又另外掛載了一個RAID上去:
這時候,我們要把原本的備份路徑移動到新的磁區上的某個資料夾,又因為這個資料夾是給 ftp 上傳使用的(有設 chroot),而 vsftpd 是不會理會 symbolic link 的。
於是就使用 mount –bind 來實行。 Continue Reading →
如果想要擷取整頁的Google搜尋結果,該怎麼做? 這次藉由 Chrome DevTools 幫忙
首先,觀察我們需要的元素位置,

嘗試以 Javascript 抓取頁面上的 ‘ .g h3.r a’,我們可以得到一個 NodeList , 包含了9個項目
Continue Reading →
WinX DVD Ripper Platinum 是一款相容於Windows作業系統的DVD轉檔軟體,擷取任意DVD內容並快速執行DVD轉AVI、DVD轉MP4、H.264、MPEG、WMV、MOV、FLV、M2TS的轉檔動作。
Continue Reading →
如果想要更改ownCloud的上傳檔案大小上限怎麼辦?
修改您的ownCloud網站底下的.htaccess檔案,
Continue Reading →

Google Drive 當中查看及管理檔案版本
當我們使用Google Drive的雲端空間來儲存/協作我們的工作資料或是作品時,一定會遇到需要修訂、更新檔案版本的情形。而這時候,Google Drive就提供了一項非常好的功能,叫做「管理版本」。 Continue Reading →