軟件測試中日常測試中融入的安全測試

發表于:2010-12-21來源:作者:點擊數: 標簽:軟件測試日常
軟件測試 中日常測試中融入的 安全測試 1. 用戶權限測試 (1) 用戶權限控制 1) 用戶權限控制主要是對一些有權限控制的功能進行驗證 2) 用戶A才能進行的操作,B是否能夠進行操作(可通過竄session,將在下面介紹) 3)只能有A條件的用戶才能查看的頁面,是否B

軟件測試中日常測試中融入的安全測試

1. 用戶權限測試

(1) 用戶權限控制

1) 用戶權限控制主要是對一些有權限控制的功能進行驗證

2) 用戶A才能進行的操作,B是否能夠進行操作(可通過竄session,將在下面介紹)

3)只能有A條件的用戶才能查看的頁面,是否B能夠查看(可直接敲URL訪問)

(2) 頁面權限控制

1) 必須有登陸權限的頁面,是否能夠在不登陸情況下進行訪問

2)必須經過A——B——C的頁面,是否能夠直接由A——C?

 

2. URL安全測試

(1)適用范圍: URL中含有參數,也就是通過GET方式傳遞的HTTP請求

(2)什么叫GET方式?

HTTP 定義了與服務器交互的不同方法,最基本的方法是 GET 和 POST。

GET方式在客戶端通過URL提交數據,數據在URL中可以看到,例如在日常中訂購服務:

http://pay.daily.taobao.net/mysub/subdeal/order_sub_deal.htm?servId=2

POST方式,數據放置在HTML HEADER內提交,數據在URL中看不到

GET只能傳輸比較少的數據,安全性較低,POST傳輸數據較多,安全性也比GET高

(3)測試關注點:

1) URL 參數檢查:

A:  對URL中參數信息檢查是否正確

如:URL中的訂單號、金額允許顯示出來的話,需要驗證其是否正確

B:  對于一些重要的參數信息,不應該在URL中顯示出來

如:用戶登陸時登錄名、密碼是否被顯示出來了 ,

2) URL參數值篡改

修改URL中的數據,看程序是否能識別:

如:對于以下URL,修改其中planId,看是程序是否可以識別:

http://pay.daily.taobao.net/mysub/plan/subplan/confirmSubPlanInfo.htm?planId=878

又如:對于URL中包含金額參數的,修改金額看是否能夠提交成功(可能導致用戶把2元金額改成1元金額能提交),還有修改訂單號等重要信息看是否會報錯

3) URL中參數修改進行XSS注入:

   什么是XSS?

XSS的全稱是Cross Site Script(跨站點腳本)

XSS的原理很簡單,即進行腳本注入,URL執行時即把此腳本進行了執行,一般都是JavaScript腳本,如<script>alter(“abc”)<script>

在URL中進行XSS注入,也就是把URL中的參數改成JS腳本。

4) URL參數中進行SQL 注入

什么是SQL注入?

SQL注入全稱是SQL Injection ,當應用程序使用輸入內容來構造動態sql語句以訪問數據庫時,會發生sql注入攻擊,如查詢、插入數據時。

測試方法: URL中寫入SQL注入語句,看是否被執行,如:’or 1=1;shutdown

一般情況下要進行SQL注入攻擊,需要對數據庫類型、表名、判斷邏輯、查詢語句等比較清楚才能夠寫出有效的SQL注入語句。

 

3. 表單提交安全測試

適用范圍:有表單提交的地方、有HTTP請求的地方(包括GET、POST請求)

測試關注點:

1) 表單中注入XSS腳本

什么是XSS?這已在上一節中說明。URL中需要檢測XSS注入,表單中更需要驗證

測試方法:即在表單填寫框中直接注入JS腳本

如在表單中輸入XSS腳本,程序是不應該讓腳本執行的

2) 表單中注入SQL 腳本

與URL中參數進行SQL注入類似,就是在表單中寫入SQL注入腳本提交看是否會有問題

 

4. Session測試

(1)   Session是客戶端與服務器端建立的會話,總是放在服務器上的,服務器會為每次會話建立一個sessionId,每個客戶會跟一個sessionID對應。

并不是關閉瀏覽器就結束了本次會話,通常是用戶執行“退出”操作或者會話超時時才會結束。

(2)   測試關注點:

1)      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的。

2)      Session超時

基于Session原理,需要驗證系統session是否有超時機制,還需要驗證session超時后功能是否還能繼續走下去。

測試方法:

       1、打開一個頁面,等著10分鐘session超時時間到了,然后對頁面進行操作,查看效果。

       2、多TAB瀏覽器,在兩個TAB頁中都保留的是用戶A的session記錄,然后在其中一個TAB頁執行退出操作,馬上在另外一個頁面進行要驗證的操作,查看是能繼續到下一步還是到登錄頁面。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97