最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
前端安全編碼規(guī)范

前言

隨著互聯(lián)網(wǎng)高速的發(fā)展,信息安全已經(jīng)成為企業(yè)重點關(guān)注焦點之一,而前端又是引發(fā)安全問題的高危據(jù)點,所以,作為一個前端開發(fā)人員,需要了解前端的安全問題,以及如何去預(yù)防、修復(fù)安全漏洞。

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

1. 跨站腳本攻擊(Cross Sites Script)

跨站腳本攻擊,Cross Site Script(簡稱 CSS或)。指黑客通過“HTML注入”篡改了網(wǎng)頁,插入了惡意的腳本(主要是JavaScript腳本),從而在用戶瀏覽網(wǎng)頁時,控制用戶瀏覽器的一種攻擊。

了解了什么是XSS,那你一定想知道,它有什么危害以及如何去防御

這里羅列一張列表:

  •  掛馬
  •  盜取用戶Cookie。
  •  釣魚攻擊,高級的釣魚技巧。
  •  刪除目標文章、惡意篡改數(shù)據(jù)、嫁禍。
  •  劫持用戶Web行為,甚至進一步滲透內(nèi)網(wǎng)。
  •  爆發(fā)Web2.0蠕蟲。
  •  蠕蟲式掛馬攻擊、刷廣告、刷瀏量、破壞網(wǎng)上數(shù)據(jù)
  •  其它安全問題

常見的跨站腳本攻擊也可分為:反射型XSS、存儲型XSS、DOM Based XSS

下面針對這三種常見的類型做具體的分析

1.1 反射型XSS--也可被稱為是HTML注入

 
 
 
 
  1. 反射型XSS,也稱為"非持久型XSS"簡單的把用戶輸入的數(shù)據(jù)"反射"給瀏覽器,即黑客往往需要誘使用戶"點擊"一個惡意鏈接攻擊才能成功,用戶通過點擊這個惡意鏈接,攻擊者可以成功獲取用戶隱私數(shù)據(jù)的一種方式。如:"盜取用戶Cookie信息"、"破壞頁面結(jié)構(gòu)"、"重定向到其他網(wǎng)站",盜取內(nèi)網(wǎng)IP等。 

那么既然反射型XSS也可以是HTML注入,那么它注入的關(guān)鍵自然也就從前端的HTML頁面開始下手:

 
 
 
 
  1. 1. 用戶能夠與瀏覽器頁面產(chǎn)生交互動作(輸入搜索的關(guān)鍵詞,點擊按鈕,點擊鏈接等等),但這些都需要去誘使用戶去操作,說起來容易,做起來難。  
  2. 2. 用戶輸入的數(shù)據(jù)會被攻擊方拼接出合適的html去執(zhí)行惡意的js腳本,這樣的過程就像是"一次反射" 

1.2 存儲型XSS

 
 
 
 
  1. 存儲型XSS,也稱為"`持久型XSS`",它與`反射型XSS`不同之處在于,它會將用戶輸入的數(shù)據(jù)"存儲"在攻擊方的服務(wù)器上,具有很強的"穩(wěn)定性"。  
  2. 例如:訪問某黑客寫下的一篇含有惡意JavaScript代碼的博客文章,黑客把惡意腳本保存到服務(wù)端。 

1.3 DOM based XSS

 
 
 
 
  1. 從效果上來說,也是"反射型XSS",單獨劃分出來,是因為其形成是通過修改頁面的"DOM節(jié)點"形成的XSS。  
  2. 例如:通過修改DOM節(jié)點上的綁定方法,用戶無意間通過點擊、輸入等行為執(zhí)行這些方法獲取到用戶的相關(guān)信息 

1.4 如何去檢測是否存在XSS

一般方法是,用戶可以在有關(guān)鍵字輸入搜索的地方輸入后點擊搜索,若彈框出現(xiàn)展示123,說明存在XSS漏洞,這就說明前端并沒有對用戶輸入的內(nèi)容過濾處理。

1.5 XSS的攻擊方式

1.Cookie劫持

 
 
 
 
  1. 通過偽裝一些`圖片和按鈕`等,誘使用戶對其操作,使網(wǎng)頁執(zhí)行了攻擊者的惡意腳本,使攻擊者能夠獲取當(dāng)前用戶的Cookie信息 

2.構(gòu)造GET和POST請求

 
 
 
 
  1. 若某攻擊者想刪除某網(wǎng)站的一篇文章,首先獲得當(dāng)前文章的id,然后通過使用腳本`插入圖片`發(fā)送一個`GET請求`,或`構(gòu)造表單`,`XMLHTTPRequest`發(fā)送`POST請求`以達到刪除該文章的目的 

3.XSS釣魚

 
 
 
 
  1. `釣魚`這個詞一般認識是起源于`社會工程學(xué)`,黑客使用這個這門學(xué)科的理念思想,在未授權(quán)不知情的情況下誘騙用戶,并得到對方對方的姓名、年齡、郵箱賬號、甚至是銀行卡密碼等私人信息。  
  2. 比如:"某用戶在某網(wǎng)站(已被攻擊)上操作黑客偽造的一個登錄框,當(dāng)用戶在登錄框中輸入了用戶名(這里可能是身份證號等)和密碼之后,將其信息上傳至黑客的服務(wù)器上(該用戶的信息就已經(jīng)從該網(wǎng)站泄漏)" 

4.獲取用戶真實的IP地址

通過第三方軟件獲取,比如客戶端安裝了Java環(huán)境(JRE),則可通過調(diào)用`Java Applet`的接口獲取客戶端本地的IP地址

1.6 XSS的防御方式

1.HttpOnly

原理:瀏覽器禁止頁面的Javascript訪問帶有HttpOnly屬性的cookie。(實質(zhì)解決的是:XSS后的cookie劫持攻擊)如今已成為一種“標準”的做法

 
 
 
 
  1. 解決方案:  
  2. JavaEE給Cookie添加HttpOnly的方式為:  
  3. response.setHeader("Set-Cookie","cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly"); 

2.輸入檢查(XSS Filter)

 
 
 
 
  1. 原理:讓一些基于特殊字符的攻擊失效。(常見的Web漏洞如XSS、SQLInjection等,都要求攻擊者構(gòu)造一些特殊字符)  
  2. * 輸入檢查的邏輯,必須在服務(wù)端實現(xiàn),因為客戶端的檢查也是很容易被攻擊者繞過,現(xiàn)有的普遍做法是兩端都做同樣的檢查,客戶端的檢查可以阻擋大部分誤操作的正常用戶,從而節(jié)約服務(wù)器的資源。  
  3. 解決方案:  
  4. 檢查是否包含"JavaScript",""等敏感字符。以及對字符串中的<>:"&/'等特殊字符做處理 

3.輸出檢查

 
 
 
 
  1. 原理:一般來說除了富文本輸出之外,在變量輸出到HTML頁面時,使用編碼或轉(zhuǎn)義的方式來防御XSS攻擊  
  2. 解決方案:  
  3. *   針對HTML代碼的編碼方式:HtmlEncode  
  4. *   PHP:htmlentities()和htmlspecialchars()兩個函數(shù)  
  5. *   Javascript:JavascriptEncode(需要使用""對特殊字符進行轉(zhuǎn)義,同時要求輸出的變量必須在引號內(nèi)部)  
  6. *   在URL的path(路徑)或者search(參數(shù))中輸出,使用URLEncode 

4.更嚴格的做法

 
 
 
 
  1. 除了數(shù)字和字母外的所有字符,都使用十六進制的方式進行編碼 

2. 跨站點請求偽造(Cross Sites Request Forgery)

跨站點請求偽造,指利用用戶身份操作用戶賬戶的一種攻擊方式,即攻擊者誘使用戶訪問一個頁面,就以該用戶身份在第三方有害站點中執(zhí)行了一次操作,泄露了用戶的身份信息,接著攻擊者就可以使用這個偽造的,但真實存在的身份信息,到某網(wǎng)站冒充用戶執(zhí)行惡意操作。

但是,攻擊者只有預(yù)測到URL的所有參數(shù)與參數(shù)值,才能成功地偽造一個請求(當(dāng)然了,他可以在安全站點里以自己的身份實際去操作一下,還是能拿到參數(shù)的);反之,攻擊者無法攻擊成功

下圖通俗解釋什么是CSRF,又是如何給用戶帶來危害的

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

  •  用戶登錄受信任網(wǎng)站A,并且在本地生成Cookie
  •  在不登出網(wǎng)站A的情況下,訪問有害網(wǎng)站B

2.1 CSRF的原理

 
 
 
 
  1. CSRF攻擊是攻擊者利用**`用戶身份`**操作用戶賬戶的一種攻擊方式  
  2. 如電影速度與激情5中吉賽爾使用內(nèi)褲獲取巴西大佬指紋,最后成功使用偽造指紋的手法打開保險柜,CSRF只不過是網(wǎng)絡(luò)上這個手法的實現(xiàn)。 

2.2 CSRF的攻擊方式

1.瀏覽器的Cookie策略

 
 
 
 
  1. 瀏覽器所持有的策略一般分為兩種:  
  2. Session Cookie,臨時Cookie。保存在瀏覽器進程的內(nèi)存中,瀏覽器關(guān)閉了即失效。  
  3. Third-party Cookie,本地Cookie。服務(wù)器在Set-Cookie時指定了Expire Time。過期了本地Cookie失效,則網(wǎng)站會要求用戶重新登錄。 

* 在瀏覽網(wǎng)站的過程中,即使瀏覽器打開了Tab頁,Session Cookie都是有效的,因此發(fā)起CSRF攻擊是可行的。

2.P3P頭的副作用

 
 
 
 
  1. "P3P Header"是 "W3C" 制定的一項關(guān)于隱私的標準,全稱是 "The Platform for Privacy Preference"(隱私偏好平臺)  
  2. 如果網(wǎng)站返回給瀏覽器的 HTTP 頭包含有 P3P 頭,則在某種程度上來說,將允許 瀏覽器發(fā)送第三方 Cookie。在 IE 下即使是"