在安全的軟體開發生命週期,在這篇文章我們將介紹測試階段,可以透過哪一些方法進行測試,文章後半部則介紹 OWASP Web Security Testing Guide 如何針對網站進行測試。
測試階段目的是確保開發的系統符合需求規格,並在上線前發現並修正錯誤和問題,以加強系統抵擋惡意攻擊的能力。
測試階段會著重於以下幾個關鍵方向:
測試類型可以根據不同的標準來分類,以下列出幾種常見的分類方式:
測試技術是指在測試階段使用的各種方法和工具,以下列出幾種常見的測試技術:
Secure
、HttpOnly
、SameSite
等Secure
確保 Cookie 只能透過 HTTPS 傳輸確保無法被 JavaScript 存取
../
或 %5c
等字元來跳脫應用程式的根目錄Secure
屬性,以便它們只能透過 HTTPS 進行通訊本文深入探討了軟體開發生命週期(SDLC)中的測試階段,詳細介紹了各種測試類型、技術和方法。文章特別聚焦於OWASP Web Security Testing Guide (WSTG),闡述了其重要性及如何利用WSTG進行全面的網站安全測試。WSTG測試階段包括資訊收集、設定測試、身分驗證測試、授權測試、工作階段管理測試、輸入驗證測試、錯誤處理測試、弱加密測試和商業邏輯測試。每個階段都提供了具體的測試方法和注意事項,幫助讀者建立一個全面、系統的網站安全測試框架。
Q1: 在SDLC的測試階段中,哪種測試類型不需要執行程式?
A) 動態測試
B) 靜態測試
C) 單元測試
D) 整合測試
答案: B
解析: 靜態測試是在不執行程式的情況下進行的測試,主要通過檢查程式碼、設計文件、需求文件等來查找問題。其他選項都需要執行程式來進行測試。
Q2: OWASP WSTG中,哪個測試階段的目標是找出目標應用程式的相關資訊,包含使用的技術和潛在的漏洞?
A) 設定測試
B) 身分驗證測試
C) 資訊收集
D) 授權測試
答案: C
解析: 資訊收集階段的目標是找出目標應用程式的相關資訊,包含使用的技術和潛在的漏洞。這個階段包括搜索引擎探勘、網頁伺服器指紋辨識、網頁內容資訊洩漏審查等。
Q3: 在工作階段管理測試中,哪種攻擊方式是攻擊者誘騙使用者使用預先設定好的工作階段ID來登入應用程式?
A) 工作階段劫持攻擊
B) 工作階段固定攻擊
C) 工作階段謎題攻擊
D) 跨站腳本攻擊
答案: B
解析: 工作階段固定攻擊(Session Fixation)是攻擊者誘騙使用者使用攻擊者預先設定好的工作階段ID來登入應用程式,然後攻擊者就可以使用該ID來冒充使用者。
Q4: 在輸入驗證測試中,哪種類型的XSS攻擊被認為是最危險的?
A) 反射式XSS
B) DOM-based XSS
C) 儲存型XSS
D) 突變型XSS
答案: C
解析: 儲存型跨站腳本(Stored XSS)被認為是最危險的跨站腳本類型。這種攻擊允許攻擊者將惡意腳本永久儲存在目標伺服器上,影響所有存取受影響頁面的使用者。
Q5: 在商業邏輯測試中,哪種測試主要檢查應用程式在處理不同請求時的時間順序差異?
A) 商業邏輯資料驗證
B) 偽造請求的能力
C) 完整性檢查
D) 處理時間順序測試
答案: D
解析: 處理時間順序測試主要檢查應用程式在處理不同請求時的時間順序差異,目的是找出潛在的競爭條件漏洞。這種測試可以幫助發現由於不正確的時間順序測試處理而導致的安全問題。