天天看點

前端:前端安全編碼規範

前端:前端安全編碼規範

随着網際網路高速的發展,資訊安全已經成為企業重點關注焦點之一,而前端又是引發安全問題的高危據點,是以,作為一個前端開發人員,需要了解前端的安全問題,以及如何去預防、修複安全漏洞。

下面就以前端可能受到的攻擊方式為起點,講解web中可能存在的安全漏洞以及如何去檢測這些安全漏洞,如何去防範潛在的惡意攻擊。

跨站腳本攻擊,cross site script(簡稱 css或)。

指黑客通過“html注入”篡改了網頁,插入了惡意的腳本(主要是javascript腳本),進而在使用者浏覽網頁時,控制使用者浏覽器的一種攻擊。

了解了什麼是xss,那你一定想知道,它有什麼危害以及如何去防禦 這裡羅列一張清單:

挂馬

盜取使用者cookie

釣魚攻擊,進階的釣魚技巧

删除目标文章、惡意篡改資料、嫁禍

劫持使用者web行為,甚至進一步滲透内網

爆發web2.0蠕蟲

蠕蟲式挂馬攻擊、刷廣告、刷浏量、破壞網上資料

其它安全問題

常見的跨站腳本攻擊也可分為:反射型xss、存儲型xss、dom based xss 下面針對這三種常見的類型做具體的分析

1.1 反射型xss--也可被稱為是html注入

那麼既然反射型xss也可以是html注入,那麼它注入的關鍵自然也就從前端的html頁面開始下手:

1.2 存儲型xss

1.3 dom based xss

1.4 如何去檢測是否存在xss

一般方法是,使用者可以在有關鍵字輸入搜尋的地方輸入****後點選搜尋,若彈框出現展示123,說明存在xss漏洞,這就說明前端并沒有對使用者輸入的内容過濾處理。

1.5 xss的攻擊方式

1.cookie劫持

2.構造get和post請求

3.xss釣魚

4.擷取使用者真實的ip位址

1.6 xss的防禦方式

1.httponly

2.輸入檢查(xss filter)

3.輸出檢查

4.更嚴格的做法

跨站點請求僞造,指利用使用者身份操作使用者賬戶的一種攻擊方式,即攻擊者誘使使用者通路一個頁面,就以該使用者身份在第三方有害站點中執行了一次操作。

洩露了使用者的身份資訊,接着攻擊者就可以使用這個僞造的,但真實存在的身份資訊,到某網站冒充使用者執行惡意操作。

但是,攻擊者隻有預測到url的所有參數與參數值,才能成功地僞造一個請求(當然了,他可以在安全站點裡以自己的身份實際去操作一下,還是能拿到參數的);反之,攻擊者無法攻擊成功。

下圖通俗解釋什麼是csrf,又是如何給使用者帶來危害的

前端:前端安全編碼規範

參考上圖,我們可以總結,完成一次csrf攻擊,必須滿足兩個條件

使用者登入受信任網站a,并且在本地生成cookie

在不登出網站a的情況下,通路有害網站b

2.1 csrf的原理

2.2 csrf的攻擊方式

1.浏覽器的cookie政策

在浏覽網站的過程中,即使浏覽器打開了tab頁,session cookie都是有效的,是以發起csrf攻擊是可行的。

2.p3p頭的副作用