XSS攻擊
(1)反射型XSS: 就如上面的例子,也就是黑客需要誘使用戶點(diǎn)擊鏈接。也叫作”非持久型XSS“(Non-persistent XSS)
(2)存儲(chǔ)型XSS:把用戶輸入的數(shù)據(jù)”存儲(chǔ)“在服務(wù)器端。這種XSS具有很強(qiáng)的穩(wěn)定性。 比較常見(jiàn)的一個(gè)場(chǎng)景是,黑客寫(xiě)下一篇包含惡意Javascript代碼的博客文章,文章發(fā)表后,所有訪問(wèn)該博客文章的用戶,都會(huì)在他們的瀏覽器中執(zhí)行這段惡意的Javascript代碼。黑客把惡意的腳本保存在服務(wù)器端,所以中XSS攻擊就叫做”存儲(chǔ)型XSS”。
(3)DOM based XSS:也是一種反射型XSS,由于歷史原因被單獨(dú)列出來(lái)了。通過(guò)修改頁(yè)面的DOM節(jié)點(diǎn)形成的XSS,稱之為DOM Based XSS
理論上,所有可輸入的地方?jīng)]有對(duì)輸入數(shù)據(jù)進(jìn)行處理的話,都會(huì)存在XSS漏洞,漏洞的危害取決于攻擊代碼的威力,攻擊代碼也不局限于script。
XSS防御
假如某些情況下,我們不能對(duì)用戶數(shù)據(jù)進(jìn)行嚴(yán)格的過(guò)濾,那我們也需要對(duì)標(biāo)簽進(jìn)行轉(zhuǎn)換。
特別注意:innerHTML不會(huì)執(zhí)行字符串中的嵌入腳本,因此不會(huì)產(chǎn)生XSS漏洞
SQL注入攻擊
CSRF攻擊
CSRF(Cross-Site Request Forgeries,跨站點(diǎn)請(qǐng)求偽造):指攻擊者通過(guò)設(shè)置好的陷阱,強(qiáng)制對(duì)已完成的認(rèn)證用戶進(jìn)行非預(yù)期的個(gè)人信息或設(shè)定信息等某些狀態(tài)更新。
附
<a >阮一峰大神對(duì)同源策略的詳解</a>