[Security] 在 Mac 上執行 WebGoat,練習網頁的滲透測試

[Security] 在 Mac 上執行 WebGoat,練習網頁的滲透測試

最近公司舉辦找軟體漏洞的比賽,也有一些訓練課程,

像 WebGoat 就是拿來練功的一個好東西~

公司有提供已經裝好 WebGoat 的虛擬機器,不過其實 WebGoat 很好安裝,

下面就直接說明如何在 Mac 上執行 WebGoat 吧~

 

1. 下載 WebGoat Jar 檔案

到 OWASP WebGoat Project 網頁,

可以找到目前最新的 The OWASP WebGoat 7.1 Release,找適合自己平台的安裝包來下載~

像我抓的是不含 JRE,可以給 Linux/Mac 通用的 webgoat-container-7.1-exec.jar

 

2. 執行 WebGoat

執行 java -jar webgoat-container-7.1-exec.jar,

就會在本機把 WebGoat 執行起來,並且會綁定 8080 這個 port~

接著到瀏覽器打 http://localhost:8080/WebGoat,就能看到 WebGoat 的登入畫面了~

想做入侵練習的話,用 guest/guest 登入:

 

3. 開始練習吧

下面拿 WebGoat 的其中一題來說明吧~

這個題目很簡單,全部有五種獎品,

根據你的使用者代號而決定你可以有哪些獎品。

入侵者要試著取得比預計還要多的獎品:

 

輸入題目給的使用者代號 836239 看看…

只出現了前三個獎品可以挑選:

 

WebGoat 的題目解法可以很多元,就如同駭客攻擊可以有許多手法一樣。

同樣的這一題,你可能有下面幾種選擇:

  • 讓網頁出現更多獎品選項
  • 把原有的選項改成價值更高的獎品
  • 找出本來就有更多獎品的使用者代號
  • 用 SQL injection 直接修改資料庫,讓使用者預設就有更多獎品
  • 用 SQL injection 直接修改資料庫,讓低價值的獎品變貴
  • … 可能還有許多方法 …

 

不同的方法會有不同的難度,也可能需要不同的工具~

我這邊選擇的是第 2 種方法,在這題裡利用 Chrome 內建的開發者工具就能搞定了~

開啟 Chrome > 更多工具 > 開發者工具,到 Network 分頁,

找到送出表單時的那個連線,可以發現送出了 check1001~1003 三個獎項:

 

到 Elements 分頁看一下網頁原始碼,

這幾個 check1001~1003 就是獎品選取框的代號:

 

直接把 check1002 改成 check1004,check1003 改成 check1005,

這樣就等於有 check1001, 1004, 1005 可以選了~

但至於我怎麼知道第 4 和第 5 個獎品會是 check1004 和 check1005 呢?

這其實就是看它命名的規律性、以及經驗了:

 

改好之後,一樣將 3 個獎項都選取起來送出,

可以發現送出的表單中,的確是變成 1001 和 1004、1005 了:

 

而這題就過關了,顯見伺服器端並沒有對資料再做驗證,

我們偷改的資料它也會吃:

 

 

這是一個很簡單的 WebGoat 題目,之後再陸續分享其他有做的題目吧~

(本頁面已被瀏覽過 2,291 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料