我們可以使用各種方法/方法作為執行攻擊的參考。
Web應用程式 - PenTesting方法
在開發攻擊模型時可以考慮以下標準。
在以下列表中,OWASP是最活躍的,並且有許多貢獻者。我們將重點關注OWASP技術,每個開發團隊在設計Web應用程式之前都會考慮這些技術。
- PTES - 滲透測試執行標準
- OSSTMM - 開源安全測試方法手冊
- OWASP測試技術 - 開放式Web應用程式安全協議
OWASP TOP 10漏洞
Open Web Application Security Protocol團隊發佈了近年來在Web上更為普遍的十大漏洞。以下是基於Web的應用程式中更常見的安全漏洞列表。
- 注入攻擊
- 身份驗證和會話管理中斷.
- 跨站腳本(XSS).
- 不安全的直接對象引用。
- 安全配置錯誤。
- 敏感數據暴露。
- 缺少功能級訪問控制。
- 跨站請求偽造(CSRF).
- 使用具有已知漏洞的組件。
- 未經驗證的重定向和轉發。
動手實踐
為了理解每種技術,下麵我們將使用一個示例應用程式。我們將對’WebGoat’進行攻擊,這是一個明確開發的J2EE應用程式,具有用於學習目的的安全漏洞。
有關webgoat專案的完整詳細資訊,請訪問 https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project 。要下載WebGoat應用程式,請導航到 https://github.com/WebGoat/WebGoat/wiki/Installation -(WebGoat-6.0)並轉到下載部分。
要安裝下載的應用程式,首先要確保沒有在端口8080
上運行任何應用程式。只需使用一個命令即可安裝它 - java -jar WebGoat-6.0.1-war-exec.jar
。有關更多詳細資訊,請訪問WebGoat安裝。
安裝後,應該可以通過導航到http://localhost:8080/WebGoat/attack
來訪問應用程式,頁面將顯示如下所示。
我們可以使用登錄頁面中顯示的guest
或 admin
憑據。
Web代理
為了攔截客戶端(流覽器)和服務器(在我們的案例中託管Webgoat應用程式的系統)之間的流量,我們需要使用Web代理。使用可從 https://portswigger.net/burp/download.html 下載的Burp Proxy
對於本教程中的示例,下載免費版本的burp套件就足夠了,如下所示。
配置Burp Suite
Burp Suite是一個Web代理,可以攔截流覽器和Web伺服器發送和接收的每個資訊包。這有助於我們在客戶端將資訊發送到Web伺服器之前修改內容。
第1步 - 應用程式安裝在端口8080
上,Burp安裝在端口8181
上,如下所示。啟動Burp套件並進行以下設置,以便在端口8181
中啟動它,如下所示。
第2步 - 應該確保Burp正在監聽安裝了應用程式的端口為:8080
,以便Burp套件可以攔截流量。此設置應在Burp Suite的範圍選項卡上完成,如下所示。
第3步 - 然後進行流覽器代理設置以收聽端口8181
(Burp Suite端口)。因此,我們已將Web代理配置為攔截客戶端(流覽器)和服務器(Webserver)之間的流量,如下所示 -
第4步 - 配置如下圖所示,簡單的工作流程圖如下所示 -