為什么要進行安全性測試?
安全性測試都有什么?簡單的就包括跳過權限驗證啊,修改提交信息啊,復雜的呢,就有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到另一個釣魚網站之類的,使其蒙受損失。
posted on 2013-12-10 10:51 順其自然EVO 閱讀(473) 評論(0) 編輯 收藏 所屬分類: 安全性測試