訓練目標:
建立完整的 Web 滲透測試流程與攻擊思維,讓學員能在授權範圍內進行系統化偵查、資產盤點與風險判定;熟練漏洞驗證與利用方法並能產出可重現的測試步驟
訓練技能:
了解滲透流程,並熟練使用 Burp Suite與常用滲透掃描工具;掌握手動與自動檢測流程,能辨識並驗證XSS、SQLi、檔案上傳、SSRF、認證等常見漏洞;具備基本撰寫測試報告、分類風險等級的判斷。
課程規劃:
分為四大模組:概論(攻擊模型、滲透流程)、工具操作(常用滲透工具實作)、漏洞挖掘實作(利用BurpSuite尋找常見漏洞)、實戰靶機演練(由淺入深的靶機挑戰);
就業展望:
可應徵資安工程師、弱點掃描工程師、滲透測試工程師,具實戰經驗後可往紅隊、資深滲透測試發展。
Day1 web滲透概論
1. 核心理論模型 (Cyber Security Frameworks)
在資安領域,我們使用標準化的模型來分析攻擊行為與系統弱點:
Cyber Kill Chain (網路攻擊鏈)
由 Lockheed Martin 提出,將攻擊行為分解為七個階段。理解此模型有助於我們在攻擊的不同階段建立防禦點。
- 重點概念: 偵查、武器化、傳遞、漏洞利用、安裝、指揮控制 (C2)、行動。
- 深入閱讀: Cyber Kill Chain 詳解
Vulnerability Assessment (漏洞評估, VA)
在執行滲透測試前,必須先了解何謂漏洞評估。這是一個系統化地發現、確認並區分系統弱點優先級的過程。
- 重點概念: 掃描、資產盤點、風險等級劃分。
- 深入閱讀: 漏洞評估流程指南
2. 滲透測試實作:情報收集 (Information Gathering)
情報收集是滲透測試中最關鍵的一環,決定了後續攻擊的成功率。
A. 被動偵查 (Passive Reconnaissance)
定義: 在不直接接觸目標伺服器的情況下獲取資訊,隱蔽性最高。
- Google Dorks (Google 駭客語法): 利用搜尋引擎強大的索引能力,挖掘目標洩漏的敏感資料或後台路徑。
- 常用工具: Google Dork 實用清單
- 教學文章: 掌握 Google Dorks 技巧
- 網路空間搜尋引擎: 使用如 Shodan 或 Censys 搜尋全球連網設備的開放埠口與服務版本。
- 教學文章: 如何使用網路空間搜尋引擎
B. 主動偵查 (Active Reconnaissance)
定義: 直接發送封包至目標系統進行掃描,雖然資訊準確,但容易被防火牆或 IDS (入侵偵測系統) 記錄。
- Nmap:網路掃描之王 用於發現主機、掃描 Port 口、辨識作業系統與服務版本。
- 工具下載: Nmap 官方下載 (Windows)
- 快速入門: Nmap 指令詳解
- ffuf:高效 Web 模糊測試工具 用於快速爆破隱藏目錄、檔案名稱或 API 參數。
- 工具下載: ffuf GitHub Release (Windows)
- 實作指南: ffuf 目錄爆破教學
Day2 滲透工具應用
第一天我們學會了如何收集情報,Day 2 的重點將放在「驗證漏洞」。我們將學習如何利用自動化工具提升效率,並深入探討 Web 安全中最致命的威脅:SQL 注入與密碼安全性。
1. 滲透測試與自動化掃描 (Automated Scanning)
在進入手動分析前,熟練使用自動化驗證工具能幫助我們快速鎖定目標的「低掛果實」。
滲透測試核心流程
理解滲透測試(Penetration Testing)的標準化作業程序,確保測試過程合法且專業。
- 重點概念: 資訊收集、漏洞分析、漏洞利用、後滲透、報告編寫。
- 深入閱讀: 滲透測試標準流程詳解
Nuclei:基於模板的漏洞掃描
Nuclei 是現代資安圈極受歡迎的工具,能透過社群維護的 YAML 模板進行快速、可擴展的掃描。
- 實作要點: 模板更新、針對特定 CVE 進行掃描、結果匯出。
- 教學文章: Nuclei 快速上手指南
2. 深度剖析:SQL Injection (SQLi) 攻擊與防護
SQL 注入是 Web 應用中最具破壞性的漏洞之一,能導致資料庫完全淪陷。
理論基礎
- SQLi 原理: 攻擊者如何透過輸入惡意 SQL 指令來改變原始查詢邏輯。
- 深入閱讀: SQL Injection 基本原理
實作演練
- Login Bypass (登入繞過): 練習如何利用邏輯漏洞,在不具備密碼的情況下進入管理後台。
- 實作指南: SQLi 登入繞過技巧
- SQLMap:自動化 SQL 注入神器
- 基礎篇: 偵測漏洞、列舉資料庫名與表名。 SQLMap 基礎教程
- 進階後滲透: 獲取 OS Shell、拖庫 (Dump) 與提權。 SQLMap 後滲透實作
3. 身份驗證與密碼安全性 (Identity & Password Security)
即使系統沒有程式碼漏洞,脆弱的密碼策略依然是致命傷。
密碼學理論
- Hashing vs Encryption: 為什麼密碼必須以雜湊形式儲存?
- Salt & Pepper: 如何對抗彩虹表攻擊?
- 核心理論閱讀:
密碼破解實作
- Hashcat:世界最快的密碼恢復工具 學習如何利用 GPU 加速來破解不同類型的密碼雜湊。
- 實作指南: Hashcat 指令實戰
- Medusa & Hydra:在線爆破工具 針對 SSH、FTP、HTTP 登入表單進行主動式密碼暴力破解。
- 實作指南: 在線密碼破解工具應用
Day3 漏洞挖掘方法
今天我們將放下自動化工具,拿起滲透測試員的「瑞士刀」—— Burp Suite。我們將學習如何攔截、分析並修改瀏覽器與伺服器之間的通訊,並深入探討伺服器端(Server-side)與商業邏輯(Logic)的致命漏洞。
1. Web 安全標準:OWASP Top 10
在開始挖掘漏洞前,必須先了解目前最威脅 Web 安全的十大風險。這是所有滲透測試報告的參考基準。
- 重點解析: 權限控制失效、加密失敗、注入攻擊…等。
- 延伸閱讀: OWASP Top 10 2021 趨勢分析
2. 工具王者:Burp Suite 實作
Burp Suite 是手動測試的必備工具,透過代理(Proxy)模式,我們可以掌控所有 HTTP 封包。
- 核心功能練習:
- Proxy (代理): 觀察 HTTP 請求(Request)與回應(Response)的結構。
- Repeater (重發器): 手動修改參數並多次重送請求,觀察不同輸入的結果。
- Interceptor (攔截器): 在封包送出前即時攔截並竄改內容。
- 進階聯防: Burp Suite 與 SQLMap 的協作技巧
3. 伺服器端漏洞 (Server-Side Vulnerabilities)
這類漏洞直接發生在後端伺服器,通常具有極高的破壞力。
OS Command Injection (指令注入)
當網頁程式將使用者輸入直接當作系統指令執行時,攻擊者可藉此控制伺服器作業系統。
File Upload (檔案上傳漏洞)
透過上傳惡意的 Web Shell (如 PHP 腳本),攻擊者可獲取伺服器的遠端程式執行權限 (RCE)。
- 實作練習: Lab: Remote code execution via web shell upload (lab support web)
- 技術筆記: 檔案上傳漏洞利用指南
Directory Traversal (目錄穿越)
利用 ../ 語法讀取伺服器上不應公開的敏感檔案(如 /etc/passwd)。
- 實作練習: Lab: File path traversal, simple case (lab support web)
- 技術筆記: 目錄穿越路徑測試技巧
4. 邏輯與權限漏洞 (Logic & Access Control)
這類漏洞不一定有明顯的程式報錯,而是程式邏輯設計上的缺陷。
HTTP Host Header Attack
竄改 Host 標頭來繞過認證。
存取控制與 2FA 繞過
- Access Control Bypass: 繞過 URL 權限檢查進入管理員介面。
- 2FA Bypass: 繞過雙重驗證機制直接登入帳號。
商業邏輯漏洞 (Business Logic)
利用程式對業務流程處理的疏忽(如:修改結帳金額、跳過付費步驟)。
- 實作練習: Lab: Weak isolation on dual-use endpoint
- 技術筆記: 邏輯漏洞案例分析
Day4 實戰演練
今天我們將跳脫單一漏洞的思維,進入 ATT&CK 框架觀測攻擊全貌。我們會學習如何使用 Burp Suite 執行自動化複雜攻擊,並深入探討客戶端(Client-side)與其他進階漏洞。最後,我們將透過實際靶場與專業報告範例,完成滲透測試的最後一塊拼圖。
1. 攻擊者戰術框架:MITRE ATT&CK
了解漏洞後,我們需要一個地圖來標記攻擊進程。ATT&CK 框架幫助我們從「點」的漏洞轉向「面」的戰術分析。
- 核心概念: 戰術 (Tactics)、技術 (Techniques) 與子技術。
- 延伸閱讀: MITRE ATT&CK 框架導讀
2. Burp Suite 高階自動化實戰
利用 Burp Suite 的擴充功能與自定義配置,執行常規掃描無法發現的漏洞。
JWT 安全與 Bypass
JSON Web Token 的不當配置(如未驗證簽名)會導致身份偽造。
- 實作: 安裝
JWT Editor擴充插件,練習簽名繞過。 - Lab: JWT authentication bypass (Unverified Signature)
- 筆記: JWT 攻擊手法詳解
資訊洩漏
自動修改每次請求內容 + 配置不安全
商業邏輯
自動化執行多個請求 + 利用業務規則套利
- Lab: Lab: Infinite money logic flaw
- 筆記: 商業邏輯漏洞
Race Condition (條件競速)
利用系統處理併發請求的時間差,達成「超越限制」的行為(如重複領取優惠券)。
- 筆記: 條件競速攻擊原理
- Lab: Limit overrun race conditions
3. 客戶端漏洞
Client-Side 攻擊 (XSS & CSRF)
- XSS (跨站腳本): 反射型、儲存型與 DOM-based 的全方位演練。
- XSS 技術筆記 |
- Lab: Reflected | Lab: Stored (lab support web)
- Lab: DOM XSS (lab support web)
- CSRF (跨站請求偽造): 誘使受害者執行非預期動作。
補充:SSRF (伺服器端漏洞)
利用 Web 應用作為跳板,攻擊內部私有網路。
- 筆記: SSRF 攻擊原理
- Lab: Basic SSRF against localhost (lab support web)
4. 綜合演練
最後,透過 TryHackMe 靶場進行實戰。
- TryHackMe: Creative – 練習綜合掃描與漏洞利用。
- TryHackMe: EasyCTF – 入門級綜合實戰。
5.滲透測試報告範例
技術再強,若無法寫出專業報告也無法在業界立足。參考全球優秀的滲透報告,學習如何描述風險、影響與修復建議。
其他補充說明
以下是滲透測試中較高階且具破壞力的漏洞類型:
- SSTI: 模板注入實戰 | Lab
- XXE: XML 外部實體注入 | Lab
- Insecure Deserialization: 不安全的反序列化 | Lab
- WebSocket 漏洞: WebSocket安全 | Lab
- Web 提權技巧: Privilege Escalation