WEB安全測試通常要考慮的測試點

1 人贊了文章

1

問題:沒有被驗證的輸入測試方法:數據類型(字元串,整型,實數,等)允許的字符集

最小和最大的長度

是否允許空輸入參數是否是必須的重複是否允許數值範圍特定的值(枚舉型)特定的模式(正則表達式)2問題:有問題的訪問控制測試方法:

主要用於需要驗證用戶身份以及許可權的頁面,複製該頁面的url地址,關閉該頁面以後,查看是否可以直接進入該複製好的地址

例:從一個頁面鏈到另一個頁面的間隙可以看到URL地址直接輸入該地址,可以看到自己沒有許可權的頁面信息,3

錯誤的認證和會話管理

例:對Grid、Label、Tree view類的輸入框未作驗證,輸入的內容會按照html語法解析出來4

緩衝區溢出

沒有加密關鍵數據

例:view-source:http地址可以查看源代碼

在頁面輸入密碼,頁面顯示的是 *****, 右鍵,查看源文件就可以看見剛才輸入的密碼,5

拒絕服務

分析:攻擊者可以從一個主機產生足夠多的流量來耗盡狠多應用程序,最終使程序陷入癱瘓。需要做負載均衡來對付。6

不安全的配置管理

分析:Config中的鏈接字元串以及用戶信息,郵件,數據存儲信息都需要加以保護 程序員應該作的: 配置所有的安全機制,關掉所有不使用的服務,設置角色許可權帳號,使用日誌和警報。

分析:用戶使用緩衝區溢出來破壞web應用程序的棧,通過發送特別編寫的代碼到web程序中,攻擊者可以讓web應用程序來執行任意代碼。

7

注入式漏洞

例:一個驗證用戶登陸的頁面,

如果使用的sql語句為: Select * from table A where username=』』 + username+』』 and pass word ….. Sql 輸入 『 or 1=1 ―― 就可以不輸入任何password進行攻擊

或者是半形狀態下的用戶名與密碼均為:『or』『=』

8

不恰當的異常處理

分析:程序在拋出異常的時候給出了比較詳細的內部錯誤信息,暴露了不應該顯示的執行細節,網站存在潛在漏洞,9

不安全的存儲

分析:帳號列表:系統不應該允許用戶瀏覽到網站所有的帳號,如果必須要一個用戶列表,推薦使用某種形式的假名(屏幕名)來指向實際的帳號。 瀏覽器緩存:認證和會話數據不應該作為GET的一部分來發送,應該使用POST,10

問題:跨站腳本(XSS)

分析:攻擊者使用跨站腳本來發送惡意代碼給沒有發覺的用戶,竊取他機器上的任意資料

測試方法:

? HTML標籤:<…>…</…> ? 轉義字元:&(&);<(<);>(>); (空格) ;? 腳本語言: <script language=『javascript』> …Alert(『』) </script>? 特殊字元:『 』 < > /? 最小和最大的長度? 是否允許空輸入

推薦閱讀:

相关文章