一、設計安全性測試用例
1.定義
安全測試是在軟件產品開發基本完成時,驗證產品是否符合安全需求定義和產品質量標準的過程。
2.概念
安全測試是檢查系統對非法侵入滲透的防范能力。
3.準則
理論上來講,只要有足夠的時間和資源,沒有無法進入的系統。因此,系統安全設計的準則是使非法侵入的代價超過被保護信息的價值。
4.目標
通過對系統進行精心、全面的脆弱性安全測試,發現系統未知的安全隱患并提出相關建議,確保系統的安全性。安全性一般分為應用程序級別和系統級別,區別如下:
應用程序級別:包括對應數據或業務功能的訪問,核實應用程序的用戶權限只能操作被授權訪問的那些功能或數據。
系統級別:包括對操作系統的目錄或遠程訪問,主要核實具備系統和應用程序訪問權限的操作者才能訪問系統和應用程序。
5.安全測試工具
序號 | 名稱 | 簡介 |
1 | IBM AppScan | 一個名列前茅的web應用安全工具,可自動進行安全漏洞評估、掃描和檢測所有常見的web應用安全漏洞,如:SQL注入、跨站點腳本攻擊(CSS)、緩沖區溢出等 |
2 | Burp Suite | 一個用于攻擊web應用程序的集成平臺,包含大量的安全測試工具,并為這些工具設計了對外訪問接口,以加快攻擊應用程序的過程 |
3 | Metasploit | 一款開源的安全漏洞檢測工具,可以幫助安全人員和IT專業人士識別安全性問題,挖掘漏洞,攻擊漏洞,并評估漏洞風險級別 |
4 | Wireshark | 適用于Windows和Linux的網絡協議分析工具,也是一個很出名的數據包分析工具,可以檢查網絡流量,是觀察TCP/IP異常流量的很好的工具 |
5 | Kail Linux | 目前比較流行的安全滲透測試平臺,包含了最新的安全測試工具,允許用戶從CD或者U盤啟動,通過U盤來實施安全滲透測試 |
延伸閱讀:
二、Session安全
Session是客戶端與服務器端建立的會話,總是放在服務器上的,服務器會為每次會話建立一個sessionId,每個客戶會跟一個sessionID 對應。 并不是關閉瀏覽器就結束了本次會話,通常是用戶執行“退出”操作或者會話超時時才會結束。
測試關注點:
Session互竄
Session互竄即是用戶A的操作被用戶B執行了。 驗證Session互竄,其原理還是基于權限控制,如某筆訂單只能是A進行操作,或者只能是A才能看到的頁面,但是B的session竄進來卻能夠獲得A的訂單詳情等。
Session互竄方法: 多TAB瀏覽器,在兩個TAB頁中都保留的是用戶A的session記錄,然后在其中一個TAB頁執行退出操作,登陸用戶B, 此時兩個TAB頁都是B的session,然后在另一個A的頁面執行操作,查看是否能成功。 預期結果:有權限控制的操作,B不能執行A頁面的操作,應該報錯,沒有權限控制的操作,B執行了A頁面 操作后,數據記錄是B的而不是A的。
Session超時
基于Session原理,需要驗證系統session是否有超時機制,還需要驗證session超時后功能是否還能繼續走下去。
測試方法:打開一個頁面,等著10分鐘session超時時間到了,然后對頁面進行操作,查看效果。多TAB瀏覽器,在兩個TAB頁中都保留的是用戶A的session記錄,然后在其中一個TAB頁執行退出操作,馬上在另外一個頁面進行要驗證的操作,查看是能繼續到下一步還是到登錄頁面。