KeyFrame內部研究專用

Pen Testing for Beginners | Complete Step-by-Step Tutorial (2026)

Tech-Know-G·5月24日週日·53 min英文

三句話摘要

以 Burp Suite 對 OWASP Juice Shop 進行 Web 滲透測試,實際示範 IDOR 漏洞的發現、驗證與報告撰寫流程。 --- IDOR 漏洞的根本原因是伺服器端缺乏逐次授權驗證,只要能修改 URL 中的物件 ID 就能橫向存取他人資料,而 Burp Suite 的 Repeater 與 Intruder 是快速發現並批量驗證此類漏洞的最直接手段。 滲透測試的目的是找漏洞、給修補,而非破壞系統。 真實場景中,測試者在取得授權後模擬攻擊者行為,目標是在上線前找出弱點並通知開發團隊修補,而非刻意破壞應用程式。

重點整理

重點
  • 1

    滲透測試的目的是找漏洞、給修補,而非破壞系統。 真實場景中,測試者在取得授權後模擬攻擊者行為,目標是在上線前找出弱點並通知開發團隊修補,而非刻意破壞應用程式。

  • 2

    測試前必須徹底理解應用程式業務邏輯與角色權限。 講師強調在動手測試前,要與開發團隊開會,釐清使用者角色(Customer、Support、Admin)、敏感資料範圍、關鍵工作流程及測試範圍(Scope),再製作角色矩陣(Role Matrix)才能有系統地執行授權測試。

  • 3

    Burp Suite 作為代理(Proxy)可完整攔截與重放 HTTP 流量。 透過 HTTP History 掌握所有請求、使用 Repeater 手動重放與修改參數、再以 Intruder 批次自動化枚舉,是發現 IDOR 等存取控制漏洞的標準操作流程。

  • 4

    IDOR 漏洞核心在於伺服器端缺少授權驗證。 應用程式直接將內部物件識別碼(Basket ID)暴露於 API 路徑,且未在伺服器端確認請求者是否有權存取該資源,導致攻擊者只需修改 ID 數字即可橫向存取其他用戶資料。

  • 5

    --

實用技巧與重點

乾貨
  • 工具與環境
  • Burp Suite Community Edition(可從 portswigger.net 下載)
  • OWASP Juice Shop(靶機,部署於 AWS EC2,使用 Docker Image)
  • Burp Suite 內建 Chromium Browser(已整合 Proxy)
  • Mobile Xterm(SSH 連線至 AWS EC2 伺服器)
  • HTTP 方法
  • GET:讀取資料
  • POST:建立新資料(如註冊、新增購物項目)
  • PUT:完整更新資料
  • PATCH:部分更新資料
  • DELETE:刪除資料
  • HTTP 狀態碼
  • 200 OK:請求成功
  • 201 Created:資源成功建立
  • 304 Not Modified:快取未變更
  • 401 Unauthorized:未通過認證
  • 403 Forbidden:已認證但無授權
  • 404 Not Found:資源不存在
  • 500 Internal Server Error:伺服器端錯誤
  • 發現的漏洞(實際示範)
  • 匿名用戶可提交任意評分(超過上限 5 分,輸入 50 仍被接受)→ Business Logic Vulnerability
  • Repeater 可重放相同回饋請求,無限次建立重複評論 → Replay Attack
  • 修改 POST 請求中的 `author` 欄位可冒充其他用戶 → Impersonation(嚴重度:High)
  • IDOR:GET `/rest/basket/{id}` 端點僅驗證 JWT Token 存在,未驗證 Token 是否對應該 Basket ID → 以同一 Token 存取 Basket 1–10 全部回傳 200 OK
  • IDOR 實際操作步驟
  • 登入後加入商品至購物籃,攔截 GET `/rest/basket/7` 請求
  • 送至 Repeater,確認回傳自己帳號(User ID: 25)的購物籃資料
  • 將路徑中的 `7` 改為 `2`,送出後得到 User ID: 2 的購物籃資料(Raspberry Juice)
  • 送至 Intruder,設定 Sniper Attack,Payload 為數字 1–10,Step 1
  • 啟動攻擊,Basket ID 1–10 全部回傳 200 OK,成功列舉所有用戶購物籃
  • 滲透測試報告必要欄位
  • Title(漏洞名稱)
  • Severity(嚴重度,此案例為 High)
  • Technical Description(技術說明)
  • Impact(影響)
  • Proof of Concept(截圖 + 重現步驟)
  • Recommendation(修補建議:實作伺服器端每次物件存取的授權驗證)
  • 修補建議
  • 伺服器端針對每個物件存取請求實作授權驗證(Server-side Authorization Validation)
  • 滲透測試前置步驟
  • 與應用程式團隊開會,理解業務邏輯與使用者角色
  • 定義測試範圍(In-scope URL、API;Out-of-scope:生產資料庫、第三方頁面)
  • 取得各角色測試帳號
  • 建立角色矩陣(Role Matrix):列出每個角色對每個功能的存取權限
  • --

結論

結論

IDOR 漏洞的根本原因是伺服器端缺乏逐次授權驗證,只要能修改 URL 中的物件 ID 就能橫向存取他人資料,而 Burp Suite 的 Repeater 與 Intruder 是快速發現並批量驗證此類漏洞的最直接手段。

完整解析

詳細

Web 應用程式滲透測試(Pentesting)的目標是在應用程式正式上線前,模擬真實攻擊者的行為,找出安全弱點並提交修補建議,而非破壞系統。講師以客戶服務模型(Client-Server Model)作為基礎概念切入:瀏覽器(Chrome)是客戶端,部署在 AWS EC2 上的 OWASP Juice Shop 是伺服器端,所有互動都透過 HTTP 請求與回應完成。Burp Suite 作為中間人代理(Proxy),能完整攔截並記錄這些流量,是 Web 滲透測試的核心工具。

在正式測試前,講師強調「了解應用程式」是不可省略的前置作業。測試者需要與開發團隊開會,確認應用程式的業務邏輯、使用者角色(Customer、Support、Admin)、敏感資料的所在、測試環境範圍(UAT 而非生產環境)。接著建立角色矩陣,逐功能標注各角色是否有權存取,例如 Admin 可刪除訂單,而 Customer 和 Support 不行。這個矩陣直接成為後續授權測試的測試案例清單,大幅提高測試效率與覆蓋率。

實際操作部分,講師以 OWASP Juice Shop 示範了數個漏洞。首先在匿名狀態下提交評論,透過 Burp Suite Repeater 發現可無限重放請求(Replay Attack),並可修改請求中的 `author` 欄位冒充他人(Impersonation);評分欄位接受超出正常範圍的數值(輸入 50 依然被接受),屬於 Business Logic Vulnerability。接著進入本次課程的主軸——IDOR(Insecure Direct Object Reference,不安全的直接物件參考)。講師登入後將商品加入購物籃,攔截到 `GET /rest/basket/7` 的請求,這個 `7` 就是直接暴露的內部物件識別碼(Basket ID)。在 Repeater 中將 `7` 改為 `2`,伺服器回傳 200 OK 並吐出其他用戶的購物籃內容,確認漏洞存在。最後利用 Intruder 的 Sniper Attack 模式,以數字 1–10 批次枚舉,所有 Basket ID 均回傳 200 OK,代表任意登入用戶都能用單一 JWT Token 橫向存取所有人的購物資料。

課程最後講師展示了滲透測試報告的格式:標題、嚴重度(High)、技術說明、影響範圍、截圖與重現步驟,以及修補建議——伺服器端應在每次物件存取時驗證請求者的 Token 是否對應該資源的擁有者。他並總結幾條實務原則:測試前必須先理解應用程式、製作角色矩陣、理解 API 架構、工具是輔助而非替代思考,以及所有發現都必須驗證後再提報,避免誤報浪費開發團隊的時間。

---

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

Risky Bulletin: Russia starts blocking DoH and DoT
編輯精選
8 min
Web2 安全英文PODCAST8月26日

Risky Bulletin: Russia starts blocking DoH and DoT

Risky Business

  • 國家級網路管制層級提升:俄羅斯主動封鎖加密 DNS 協定對抗審查工具,中國加速淘汰 Windows 系統並遷移自主 Linux 發行版,各國正透過技術與法律手段強化網路主權與信息控制能力。
  • 詐騙犯罪走向精密化與自動化:從冒充警察的聲音詐騙(竊取 7.2 百萬美元)、AI 語音代理自動化破解 iPhone 啟用鎖、到跨越數百網站的投資詐騙(詐騙 7400 萬美元),犯罪組織正利用自動化工具與 AI 技術大幅降低成本並擴大規模。
  • AI 惡意軟體威脅實際上被嚴重誇大:405 個整合 AI 的惡意軟體樣本中僅 12 個於真實感染被偵測,其餘來自測試環境,證明當前 AI 惡意軟體仍停留於實驗階段,尚未構成主流威脅。
SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;
5 min
Web2 安全英文PODCAST8月26日

SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;

SANS Stormcast

  • SSRF 攻擊者已進化出高級繞過手段,不直接使用元數據服務 IP(169.254.169.254),而改用專門域名服務將請求轉址,支援點或破折號分隔 IP,甚至可自部署 DNS 伺服器進行 DNS 重綁定攻擊,使傳統簡易過濾機制失效。
  • 本地 AI 模型並非完全隱私:微軟 Paint 雖在本地執行生成邏輯,但安全檢查需上傳提示文字至遠程伺服器,返回時圖像內嵌不易移除的伺服器 GUID 隱形浮水印,可見浮水印(Copilot 圖標)則易被移除。
  • 傳統 FTP 協議被新型惡意軟體重新利用為命令控制通道,透過 FTP banner 傳遞指令於連接埠 21,防守者應視任何出站 FTP 流量為異常信號。
SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。