跨站腳本攻擊簡(jiǎn)稱(chēng)XSS,或許很多程序員編寫(xiě)代碼的時(shí)候沒(méi)有意識(shí)到這種攻擊,也沒(méi)有做相應(yīng)的防范,然而可能出于幸運(yùn),網(wǎng)站安然無(wú)恙,沒(méi)有人對(duì)網(wǎng)站進(jìn)行破壞行為,然而,當(dāng)網(wǎng)站逐漸做大,訪問(wèn)的用戶(hù)越來(lái)越多,越來(lái)越多的黑客關(guān)注你的網(wǎng)站,越來(lái)越多的競(jìng)爭(zhēng)對(duì)手覬覦你的網(wǎng)站,那么你的網(wǎng)站要免受攻擊幾乎是不可能的,唯一的解決辦法就是熟悉這種攻擊方法,然后做相應(yīng)的防范工作。
XSS一般可以實(shí)現(xiàn)以下兩種方法實(shí)現(xiàn):
1、通過(guò)用戶(hù)將惡意的腳本命令輸入到接收“不干凈”用戶(hù)輸入的網(wǎng)站中;
2、通過(guò)直接在頁(yè)面上顯示用戶(hù)的輸入。
第一種情況稱(chēng)作“被動(dòng)注入”(PAssive Injection)。在被動(dòng)注入中,用戶(hù)將“不干凈”的內(nèi)容輸入到文本框中并將其保存到數(shù)據(jù)庫(kù),以后再重新在頁(yè)面上顯示。第二種方法稱(chēng)作“主動(dòng)注入”(Active Injection),涉及的用戶(hù)將“不干凈”的內(nèi)容輸入到文本框中并將輸入的內(nèi)容立刻在頁(yè)面顯示出來(lái),這兩種方式都是非常邪惡的,破壞力可以很強(qiáng)。
比較常見(jiàn)的出現(xiàn)XSS攻擊情況的網(wǎng)站板塊一般是留言板塊和評(píng)論板塊,比如通過(guò)輸入一段Javascript代碼,使任何打開(kāi)這個(gè)頁(yè)面的用戶(hù)跳轉(zhuǎn)到另外一個(gè)非用戶(hù)希望的網(wǎng)站,或者是把用戶(hù)的COOKIE信息和輸入信息發(fā)送到另一個(gè)網(wǎng)站進(jìn)行保存,從而盜取用戶(hù)賬號(hào)資料,這將非常危險(xiǎn)。
解決辦法其實(shí)很簡(jiǎn)單,只要在用戶(hù)輸入保存的時(shí)候進(jìn)行過(guò)濾,進(jìn)行HTML編碼,既可以阻止這種跨站腳本攻擊。
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://m.oulysa.com/news/2014.html