随着網際網路高速的發展,資訊安全已經成為企業重點關注焦點之一,而前端又是引發安全問題的高危據點,是以,作為一個前端開發人員,需要了解前端的安全問題,以及如何去預防、修複安全漏洞。
下面就以前端可能受到的攻擊方式為起點,講解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頭的副作用