檢查點1
(1)驗證輸入(2)數(shù)據(jù)類型(字符串腔召,整型婿屹,實數(shù)等)(3)允許的字符集(4)最小和最大的長度(5)是否允許空輸入(6)參數(shù)是否是必須的(7)重復(fù)是否允許(8)數(shù)值范圍(9)特定的值(枚舉型)(10)特定的模式(正則表達式)
檢查點2
有問題的訪問控制:主要用于需要驗證用戶身份以及權(quán)限的頁面习劫,復(fù)制該頁面的url地址培遵,關(guān)閉該頁面以后较坛,查看是否可以直接進入該復(fù)制好的地址菱肖;
例:從一個頁面鏈到另一個頁面的間隙可以看到URL地址疚宇,直接輸入該地址亡鼠,可以看到自己沒有權(quán)限的頁面信息
檢查點3
各級訪問權(quán)限是否合理:
(1)用戶生命周期是否有限制;
(2)低級別的用戶是否可以操作高級別用戶命令敷待;
(3)用戶是否自動超時退出间涵,超時設(shè)置是否合理,用戶數(shù)據(jù)是否會丟失榜揖。
檢查點4
(1)跨站腳本(XSS):攻擊者使用跨站腳本來發(fā)送惡意代碼給沒有發(fā)覺的用戶勾哩,竊取他機器上的任意資料;
(2)HTML標(biāo)簽:<>举哟,</>思劳;
(3)轉(zhuǎn)義字符:&(&);<<(<)妨猩;>gt(>)潜叛;  (空格);
(4)是否允許空輸入;
(5)特殊字符:''<>/
例:對Grid、Label威兜、Treeview類的輸入框未作驗證销斟,輸入的內(nèi)容會按照html語法解析出來
檢查點5
(1)注入式漏洞:用戶登錄處、不用登錄可以查看到的數(shù)據(jù)庫中的數(shù)據(jù)列表尤為重要椒舵。
例:一個驗證用戶登陸的頁面蚂踊,如果使用的sql語句為: ?Select * from table A where username = ' ' + username + '' and password.
(2)Sql輸入(參考我前面寫的sql注入)
檢查點6
表單提交安全測試:
適用范圍:有表單提交的地方、有HTTP請求的地方(包括GET逮栅、POST請求)
1)表單中注入XSS腳本
2)表單中注入SQL腳本
檢查點7
沒有加密關(guān)鍵數(shù)據(jù):
例:View-source:http地址可以查看源代碼, 在頁面輸入密碼悴势,頁面顯示的是*****,右鍵,查看源文件是否可以看見剛才輸入的密碼措伐;
檢查點8
不恰當(dāng)?shù)漠惓L幚恚撼绦蛟趻伋霎惓5臅r候給出了比較詳細的內(nèi)部錯誤信息特纤,暴露了不應(yīng)該顯示的執(zhí)行細節(jié),網(wǎng)站存在潛在漏洞侥加;
檢查點9
(1)URL安全測試1
適用范圍:URL中含有參數(shù)捧存,也就是通過GET方式傳遞的HTTP請求;
GET方式:方式在客戶端通過URL提交數(shù)據(jù)担败,數(shù)據(jù)在URL中可以看到昔穴;
POST方式:數(shù)據(jù)放置在HTMLHEADER內(nèi)提交,數(shù)據(jù)在URL中看不到提前;
GET只能傳輸比較少的數(shù)據(jù)吗货,安全性較低,POST傳輸數(shù)據(jù)較多狈网,安全性也比GET高宙搬;
(2)URL安全測試2
?URL參數(shù)檢查:
? ? ? ? ?a. 對URL中參數(shù)信息檢查是否正確
? ? ? ? ? ? 如:URL中的訂單號、金額允許顯示出來的話拓哺,需要驗證其是否正確;
? ? ? ? ?b. 對于一些重要的參數(shù)信息勇垛,不應(yīng)該在URL中顯示出來
? ? ? ? ? ? 如:用戶登錄時登錄名、密碼是否被顯示出來了;
(3)URL安全測試3
? URL參數(shù)值篡改:修改URL中的數(shù)據(jù)士鸥,看程序是否能識別:
? 如:對于以下URL闲孤,修改其中planId,看是程序是否可以識別:
? ?http://pay.daily.taobao.net/mysub/plan/subplan/confirmSubPlanInfo.htm?planId=xxx