安全測試學習筆記二(對于top 10 漏洞的分析)

發表于:2011-12-23來源:未知作者:娃娃點擊數: 標簽:安全測試
1, 問題:沒有被驗證的輸入 測試方法: 數據類型(字符串,整型,實數,等) 允許的字符集

  1, 問題:沒有被驗證的輸入

  測試方法:

  數據類型(字符串,整型,實數,等)

  允許的字符集

  最小和最大的長度

  是否允許空輸入

  參數是否是必須的

  重復是否允許

  數值范圍

  特定的值(枚舉型)

  特定的模式(正則表達式)

  2, 問題:有問題的訪問控制

  測試方法

  主要用于需要驗證用戶身份以及權限的頁面,復制該頁面的url地址,關閉該頁面以后,查看是否可以直接進入該復制好的地址

  例:從一個頁面鏈到另一個頁面的間隙可以看到URL地址

  直接輸入該地址,可以看到自己沒有權限的頁面信息,

  3 錯誤的認證和會話管理

  分析:帳號列表:系統不應該允許用戶瀏覽到網站所有的帳號,如果必須要一個用戶列表,推薦使用某種形式的假名(屏幕名)來指向實際的帳號。

  瀏覽器緩存:認證和會話數據不應該作為GET的一部分來發送,應該使用POST,

  4 問題:跨站腳本(XSS)

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

  測試方法:

  • HTML標簽:<…>…

  • 轉義字符:&(&);<(<);>(>); (空格) ;

  • 腳本語言

  

  • 特殊字符:‘ ’ < > /

  • 最小和最大的長度

  • 是否允許空輸入

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

  5,緩沖區溢出

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

  6,注入式漏洞。

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

  如果使用的sql語句為:

  Select * from table A where username=’’ + username+’’ and pass word …..

  Sql 輸入 ‘ or 1=1 ―― 就可以不輸入任何password進行攻擊

  7,不恰當的異常處理

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

  8,不安全的存儲

  沒有加密關鍵數據

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

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

  9,拒絕服務

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

  10,不安全的配置管理

  分析:Config中的鏈接字符串以及用戶信息,郵件,數據存儲信息都需要加以保護

  程序員應該作的: 配置所有的安全機制,關掉所有不使用的服務,設置角色權限帳號,使用日志和警報。

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

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