安全測試教學

執行安全測試是為了揭示系統中的安全漏洞,以保護數據和維護功能。本教學通過簡單實用的示例解釋了安全測試的核心概念和相關主題。

面向讀者

本教程是為安全測試初學者準備的,旨在幫助他們理解安全測試的基礎知識。

前提條件

在繼續本教學之前,您應該對軟體測試及其相關概念有基本的瞭解。

教學目錄

1.安全測試簡介 - 安全測試是一種測試技術,用於確定資訊系統是否保護數據並按預期維護功能。安全測試不保證系統的完全安全性,但重要的是將安全測試作為測試過程的一部分。
2.安全測試流程 - 安全測試可視為對系統的受控攻擊,以實際的攻擊方式揭示安全漏洞或問題。安全測試的目標是評估IT系統的當前狀態。它也被稱為滲透測試或道德駭客攻擊。
3.安全測試惡意軟體 - 惡意軟體(惡意軟體)是指向攻擊者/惡意軟體創建者部分完全控制系統的任何軟體。
4.HTTP協議基礎 - 理解協議對於掌握安全測試非常重要。當我們攔截網路伺服器和客戶端之間的數據包數據時,您將能夠理解協議的重要性。
5.HTTPS協議基礎 - HTTPS(基於安全套接字層的超文本傳輸協議)或HTTP over SSL是由Netscape開發的Web協議。它不是協議,但它只是在SSL/TLS(安全套接字層/傳輸層安全性)之上分層HTTP的結果。
6.HTTP編碼和解碼 - 編碼是將字元,數字和其他特殊字元等字元序列放入專用格式以進行有效傳輸的過程。解碼是將編碼格式轉換回原始字元序列的過程。編碼和解碼用於數據通信和存儲。編碼不應用於傳輸敏感資訊。
7.安全測試加密 - 密碼學是加密和解密數據的科學,它使用戶能夠存儲敏感資訊或在不安全的網路上傳輸敏感資訊,以便只能由預期的接收者讀取。
8.同源策略安全 - 根據此策略,它允許在源自同一站點的頁面上運行腳本,該站點可以是以下組合 - 域(功能變數名稱),協議和端口。
9.安全測試Cookies - Cookie是Web伺服器發送的一小段資訊,用於存儲在Web流覽器上,以便以後可以被流覽器讀取。
10.入侵Web應用程式 - OWASP是最活躍的,並且有許多貢獻者。我們將重點關注OWASP技術,每個開發團隊在設計Web應用程式之前都會考慮這些技術。
11.安全測試SQL注入 - 成功的SQL注入可以讀取,修改資料庫中的敏感數據,還可以從資料庫中刪除數據。它還使駭客能夠對數據庫執行管理操作,例如:關閉DBMS/刪除資料庫。
12.測試失效的驗證 - 當與應用程式相關的身份驗證功能未正確實現時,它允許駭客利用其他用戶憑據破壞密碼或會話ID或利用其他實施缺陷。
13.測試跨站點腳本(XSS)- 只要應用程式獲取不受信任的數據並將其發送到客戶端(流覽器)而未經驗證,就會發生跨站點腳本(XSS)。這允許攻擊者在受害者的流覽器中執行惡意腳本,這可能導致用戶會話劫持,破壞網站或將用戶重定向到惡意站點。
14.不安全的直接對象引用 - 當開發人員公開對內部實現對象(例如:檔,目錄或資料庫密鑰)的引用而沒有任何允許攻擊者操縱這些引用來訪問未授權數據的驗證機制時,可能會發生直接對象引用。
15.安全配置錯誤 - 安全性錯誤配置在安全性設置被定義,實現和維護為默認設置時出現。良好的安全性要求為應用程式,Web伺服器,資料庫伺服器和平臺定義和部署安全配置。
16.敏感數據暴露 - 隨著線上應用程式日復一日地湧入互聯網,並非所有應用程式都受到保護。許多Web應用程式無法正確保護敏感用戶數據,如信用卡資訊/銀行帳戶資訊/身份驗證憑據。駭客可能最終竊取這些受到弱保護的數據,以進行信用卡欺詐,身份盜竊或其他犯罪。
17.缺少功能級訪問控制 - 大多數Web應用程式在使用戶可以訪問該功能之前驗證功能級別訪問許可權。但是,如果未在伺服器上執行相同的訪問控制檢查,則駭客無法在未經適當授權的情況下進入應用程式。
18.跨站請求偽造(CSRF) - CSRF攻擊迫使經過身份驗證的用戶(受害者)發送偽造的HTTP請求,包括受害者的會話cookie到易受攻擊的Web應用程式,這允許攻擊者強制受害者的流覽器生成請求,以便易受攻擊的應用程式感知來自受害者。
19.使用具有漏洞的組件 - 當應用程式中使用的庫和框架等組件幾乎總是以完全許可權執行時,就會發生這種威脅。如果利用易受攻擊的組件,則會使駭客的工作更容易導致嚴重的數據丟失或伺服器接管。
20.未經驗證的重定向和轉發 - 互聯網上的大多數Web應用程式經常將用戶重定向並轉發到其他頁面或其他外部網站。但是,如果不驗證這些頁面的可信度,駭客可以將受害者重定向到網路釣魚或惡意軟體站點,或者使用轉發來訪問未經授權的頁面。
21.AJAX安全問題 - 非同步Javascript和XML(AJAX)是用於開發Web應用程式以提供豐富用戶體驗的最新技術之一。
22.Web Service安全 - 在現代的基於Web的應用程式中,Web服務的使用是不可避免的,並且它們也容易受到攻擊。由於Web服務請求從多個網站獲取,開發人員必須採取一些額外的措施,以避免駭客的任何類型的滲透。
23.緩衝區溢出攻擊 - 當程式試圖在臨時數據存儲區域(緩衝區)中存儲比預期要容納的更多數據時,會出現緩衝區溢出。由於創建緩衝區以包含有限數量的數據,因此額外資訊可能溢出到相鄰緩衝區中,從而破壞其中保存的有效數據。
24.拒絕服務(DoS)攻擊 - 拒絕服務(DoS)攻擊是駭客企圖使網路資源不可用的一種攻擊。它通常會臨時或無限地中斷主機,讓正常使用的用戶無法訪問目標服務。這些攻擊通常針對託管在關鍵任務Web伺服器(如銀行,信用卡支付網關)上的服務。
25.惡意檔執行攻擊 - 開發人員通常直接使用或連接潛在的易受攻擊的輸入與檔,或假設輸入檔是有效的。如果未正確檢查數據,則可能導致Web伺服器處理或調用易受攻擊的內容。
26.安全測試自動化工具 - 有多種工具可用於執行應用程式的安全性測試。很少有工具可以執行端到端安全測試,而有些工具專門用於發現系統中的特定類型的缺陷。


開始學習 >> :安全測試簡介