預(yù)防Web應(yīng)用程序的漏洞 |
時(shí)間: 2013/2/16 10:43:54 點(diǎn)擊: 16679 |
入校驗(yàn)、熱點(diǎn)保護(hù)以及輸出校驗(yàn)。
輸入校驗(yàn) 大多數(shù)的安全漏洞是因?yàn)槟繕?biāo)應(yīng)用程序沒有正確地校驗(yàn)輸入數(shù)據(jù)。1所以,應(yīng)用程序要考慮到所有惡意的輸入直到能證明其合法,這要涵蓋不可信環(huán)境中的所有數(shù)據(jù)。 輸入校驗(yàn)是第一道防線,總體來(lái)講就是縮小應(yīng)用程序允許輸入的范圍,它會(huì)直接作用在用戶提供的數(shù)據(jù)上。這種類型的防御要依賴輸入?yún)?shù)在一個(gè)合法的范圍內(nèi),或者如果用戶提供了超出了范圍的值就會(huì)停止執(zhí)行。在Web應(yīng)用程序中,這首先要標(biāo)準(zhǔn)化輸入將其轉(zhuǎn)換到基線字符集和編碼。接下來(lái),應(yīng)用程序必須對(duì)標(biāo)準(zhǔn)化的輸入使用過(guò)濾策略,拒絕那些值在合法范圍之外的輸入。這種方式能夠避免很多Web應(yīng)用程序中的問(wèn)題,在執(zhí)行輸入校驗(yàn)時(shí)會(huì)使用正向模式匹配或正向校驗(yàn)。在這種情況下,開發(fā)人員建立規(guī)則來(lái)識(shí)別那些可接受的輸入而不是識(shí)別有什么輸入是不可接受的。盡管開發(fā)人員不能預(yù)測(cè)所有類型的攻擊,但他們應(yīng)該能夠說(shuō)明所有類型的合法輸入。 關(guān)鍵問(wèn)題在于,輸入校驗(yàn)通常使用地并不充分,這是因?yàn)檩斎雲(yún)?shù)的數(shù)據(jù)域允許存在惡意數(shù)據(jù),這是與校驗(yàn)執(zhí)行相獨(dú)立的。例如,在SQL注入漏洞中,大多數(shù)的SQL語(yǔ)句使用引號(hào)作為字符串分隔符,這就意味著黑客可以使用它來(lái)執(zhí)行SQL注入攻擊。4但是,在有些情況下,字符串輸入域必須允許存在引號(hào)值,所以應(yīng)用程序不能排除所有包含引號(hào)的值。 熱點(diǎn)防護(hù) 為了應(yīng)對(duì)輸入校驗(yàn)的局限性,有必要采用第二道防線 任何類型的攻擊都是以熱點(diǎn)為目標(biāo)的,熱點(diǎn)指的就是應(yīng)用程序中可能會(huì)有某種類型漏洞的代碼。通用的輸入校驗(yàn)會(huì)在應(yīng)用程序中進(jìn)行或者在整個(gè)Web應(yīng)用程序上下文中修改輸入,與之相比,
|
上一篇: 馬云:做搜索是為了讓百度睡不著覺 下一篇: 網(wǎng)站流量之如何防止圖片浪費(fèi)空間流量技巧 |