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

2021-04-08 20:29:40 字數 1754 閱讀 9826

1,

問題:沒有被驗證的輸入

測試方法:

資料型別(字串,整型,實數,等)

允許的字符集

最小和最大的長度

是否允許空輸入

引數是否是必須的

重複是否允許

數值範圍

特定的值(列舉型)

特定的模式(正規表示式)

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

測試方法:

主要用於需要驗證使用者身份以及許可權的頁面,複製該頁面的url

位址,關閉該頁面以後,檢視是否可以直接進入該複製好的位址

例:從乙個頁面鏈到另乙個頁面的間隙可以看到url

位址直接輸入該位址,可以看到自己沒有許可權的頁面資訊,

3      錯誤的認證和會話管理

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

瀏覽器快取:認證和會話資料不應該作為get

的一部分來傳送,應該使用post,

4        問題:跨站指令碼(xss)

分析:攻擊者使用跨站指令碼來傳送惡意**給沒有發覺的使用者,竊取他機器上的任意資料

測試方法:

•        

html

標籤:<…>… 

•        

轉義字元:&(&)

;<(<)

;>(>)

; (空格)

;•        

指令碼語言:

•        

特殊字元:『  』 <  >  /

•        

最小和最大的長度

•        

是否允許空輸入

例:對grid

、label

、tree view

類的輸入框未作驗證,輸入的內容會按照html

語法解析出來

5,緩衝區溢位

沒有加密關鍵資料

例:view-source

位址可以檢視源**

在頁面輸入密碼,頁面顯示的是*****, 

右鍵,檢視原始檔就可以看見剛才輸入的密碼,

9,拒絕服務

分析:

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

10,不安全的配置管理

分析:config

中的鏈結字串以及使用者資訊,郵件,資料儲存資訊都需要加以保護

程式設計師應該作的:配置所有的安全機制,關掉所有不使用的服務,設定角色許可權帳號,使用日誌和警報。

分析:使用者使用緩衝區溢位來破壞web

應用程式的棧,通過傳送特別編寫的**到web

程式中,攻擊者可以讓web

應用程式來執行任意**。 6

,注入式漏洞。

例:乙個驗證使用者登陸的頁面,

如果使用的sql

語句為:

select *  from  table a where  username

=』』 + username+』』 and pass word …..

sql

輸入『or 1

=1 ――

就可以不輸入任何password

進行攻擊

7,不恰當的異常處理

分析:程式在丟擲異常的時候給出了比較詳細的內部錯誤資訊,暴露了不應該顯示的執行細節,**存在潛在漏洞,

8,不安全的儲存

C 學習筆記 二 對於C 語法新手常犯的錯誤

從python到c 表示需要注意的習慣性細節還是蠻多的,作為乙個不看就忘星人,還是決定老老實實把乙個個易錯點記錄下來,也再一次加深印象。首先看個樣例,來自譚浩強老師的 c 程式設計第3版 第一章習題9 include using namespace std int main int add int ...

C 學習筆記 二 對於C 語法新手常犯的錯誤

從python到c 表示需要注意的習慣性細節還是蠻多的,作為乙個不看就忘星人,還是決定老老實實把乙個個易錯點記錄下來,也再一次加深印象。首先看個樣例,來自譚浩強老師的 c 程式設計第3版 第一章習題9 include using namespace std int main int add int ...

cuda 學習筆記(二)cuda於cpu時間對比

include cuda runtime.h include device launch parameters.h include include include include include define row 1024 define col 1024 long long g cpu calc...