1 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個贊
下面這幾個注意事項(xiàng)或許可以幫你一些
1. 找到Web應(yīng)用所有的輸入點(diǎn),找到所有的能接受用戶輸入的地方,漏掉輸入點(diǎn)也就漏掉了可能存在的縫。
2. 過濾每一個輸入點(diǎn),為每個輸入點(diǎn)設(shè)定相應(yīng)的校驗(yàn)規(guī)則和邊界。
3. 不要忘記校驗(yàn)?zāi)男╇[藏域,cookie和url參數(shù)。
4. 驗(yàn)證從數(shù)據(jù)庫里面得到的數(shù)據(jù),這個是最容易忽視的地方,不要相信來自數(shù)據(jù)庫里面的數(shù)據(jù)就是合法的數(shù)據(jù)。
5. 你是如何做輸入校驗(yàn)的? javascript?如果只是用javascript做客戶端校驗(yàn), 風(fēng)險(xiǎn)還是很大的,一定要確保加上服務(wù)端的校驗(yàn),否則如果客戶端禁用了javascript或者客戶端代碼被人工修改,非法數(shù)據(jù)還是會進(jìn)入系統(tǒng)內(nèi)部的。
6. 隱藏異常信息,再周全的校驗(yàn)也不可能覆蓋所有的case,如果非法數(shù)據(jù)造成了系統(tǒng)的異常,不要將詳細(xì)的異常信息暴露給客戶端,這些異常信息有可能成為系統(tǒng)的攻擊入口。
在做輸入校驗(yàn)的時候,從“什么樣的輸入才是合法的”入手會降低驗(yàn)證失效的風(fēng)險(xiǎn),應(yīng)該只為每個輸入點(diǎn)的輸入內(nèi)容制定一個有限的,剛好夠用的合法范圍,除此之外的所有內(nèi)容都當(dāng)做是非法的。而從“什么樣的輸入是不合法的”入手則會增加驗(yàn)證失效的可能,因?yàn)槟悴豢赡芨F舉非法的輸入。
添加回答
舉報(bào)