為什麼要進行安全性測試?_測試職業發展
來源:互聯網
上載者:User
安全性測試都有什麼。簡單的就包括跳過許可權驗證啊,修改提交資訊啊,複雜的呢,就有sql盲注、跨網站指令碼等等。這些咱們暫時不一一細表,只說說我們為什麼要進行安全性測試。、
其實網上關於安全性測試的資料並不是非常多,即使有人關注已只是很淺顯的談到部門安全性因素。當然,據我瞭解部分大公司都有自己的安全性測試團隊,這部分工作並不由測試人員進行。
胡扯了兩句,今天我們來聊聊為什麼進行安全性測試,或者說,安全性到底會引起哪些問題、後果。
第一,提到安全。我們一個產品一個網站最需要加強安全防範的就是資料庫。那麼如果缺少了安全性測試,在高手的sql盲注下,你的資料庫就會逐步展現在駭客的面前,無論是資料庫類型、表結構、欄位名或是詳細的使用者資訊,都有無數種手段可以讓人“一覽無餘”。
第二,就是許可權。網站一般都規定了什麼樣的使用者可以做什麼事。比如版主可以修改所有人的文章,而你普通使用者只能編輯自己的文章,同樣遊客只能看大家的文章。這就是簡單的許可權。如果少了安全性保證,那麼就容易有人跳出許可權做他不該做的事情。
簡單舉個小例子,一個登入模組,讓你輸入使用者名稱密碼。我們會老老實實的輸入我們的使用者名稱密碼,比如“風落幾番”-“password”。如果我們刻意的去繞過登入認證呢。
猜想一下這個sql,單說使用者名稱,開發人員很可能會這樣去資料庫裡對比:
Select count(id) from sys_user where username=‘XXX’
當然可能更複雜,咱們就用這個說。如果我們在輸入框裡輸入一段特殊的字元會如何。
’or‘1=1
這是段神奇的字元,因為這樣這個sql就變成:
Select count(id) from sys_user where username=‘’or‘1=1’
好吧,我們就跳過了使用者名稱的驗證。。。
說的好基礎和無聊的感覺,其實這就是安全性的一部分。
接著說第三,就是修改提交資料資訊。曾經我們公司做過一個關於線上支付的商城,在安全性測試過程中,我發現通過抓包抓到的提交價格,經過修改再發包可以通過。簡單來說就是本來100塊錢買的東西,我抓包修改為1塊就能成功購買。這就成為了一個巨大的隱患。
再說第四,類似跨站指令碼的安全隱患。這方面網上資料很多,具體過程呢就像這樣:
1.HTML注入。所有HTML注入範例只是注入一個JavaScript彈出式的警告框:alert(1)。
2.做壞事。如果您覺得警告框還不夠刺激,當受害者點擊了一個被注入了HTML代碼的頁面連結時攻擊者能作的各種的惡意事情。
3.誘捕受害者,可能會redirect到另一個釣魚網站之類的,使其蒙受損失。