前端必備知識點之CSRF XSS

2021-10-18 15:35:30 字數 1997 閱讀 9042

csrf:(cross-site request forgery),中文名稱:跨站請求偽造,也被稱為:one click attack/session riding,縮寫為:csrf/xsrf

xss:(cross site scripting),中文名稱:跨站指令碼攻擊,人們經常將跨站指令碼攻擊(cross site scripting)縮寫為css,但這會與層疊樣式表(cascading style sheets,css)的縮寫混淆。因此,有人將跨站指令碼攻擊縮寫為xss

csrf沒有區分型別,都是一類挾制使用者在當前已登入的web應用程式上執行非本意的操作的攻擊方法

分類:反射性、儲存型、dom型

dom型xss:

dom——文件物件型別利用瀏覽器的dom解析,更不容易被發現,可以更改頁面布局

跨站指令碼攻擊(xss),是最普遍的web應用安全漏洞。這類漏洞能夠使得攻擊者嵌入惡意指令碼**到正常使用者會訪問到的頁面中,當正常使用者訪問該頁面時,則可導致嵌入的惡意指令碼**的執行,從而達到惡意攻擊使用者的目的。xss攻擊者可以使使用者在瀏覽器中執行其預定義的惡意指令碼,可劫持使用者會話,插入惡意內容、重定向使用者、使用惡意軟體劫持使用者瀏覽器、繁殖xss蠕蟲,甚至破壞**、修改路由器配置資訊等

跨站請求攻擊(csrf),簡單地說,是攻擊者通過一些技術手段欺騙使用者的瀏覽器去訪問乙個自己曾經認證過的**並執行一些操作(如發郵件,發訊息,甚至財產操作如轉賬和購買商品)。由於瀏覽器曾經認證過,所以被訪問的**會認為是真正的使用者操作而去執行。這利用了web中使用者身份驗證的乙個漏洞:簡單的身份驗證只能保證請求發自某個使用者的瀏覽器,卻不能保證請求本身是使用者自願發出的。

1、服務端進行csrf防禦

服務端的csrf方式方法很多樣,但總的思想都是一致的,就是在客戶端頁面增加偽隨機數

1、設定referer欄位

並不是所有伺服器在任何時候都可以接受referer欄位,所以這個方法存在一定的侷限性

2、設定驗證碼

在使用者操作的過程中設定身份確認的驗證碼,該方法會很有用,不過驗證碼頻繁的話會影響使用者體驗

3、設定token值

在使用者請求中設定乙個隨機沒有規律的token值可以有效的防止攻擊者利用漏洞攻擊,本質是衝著瀏覽器分不清發起請求是不是真正的使用者本人,所以防範的關鍵在於在請求中放入黑客所不能偽造的資訊。從而防止黑客偽造乙個完整的請求欺騙伺服器。

「防範措施」:驗證碼機制,驗證**站點,利用cookie的samesite屬性,csrf token

1、設定黑名單和白名單

內容安全策略略(content security policy,csp),實質就是⽩名單制度,開發者明確告訴客戶端,哪些外部資源可以載入和執⾏,⼤大增強了了⽹網⻚頁的安全性

2、對使用者輸入進行過濾、入參字元過濾、出參字元轉義

在 xss 攻擊中,攻擊者主要是通過構造特殊字元來注⼊入指令碼,所以對⽤使用者的輸⼊入進⾏行行檢測就很有必要,並且需要在客戶端與服務端都進⾏行行輸⼊入檢測,然後對⽤使用者 輸⼊入的資料進⾏行行轉義。主要就是對輸⼊入所包含的特殊字元進⾏行行轉義,如 <,>, &,",』,來防⽌止 xss 攻擊。

3、設定httponly

由於很多 xss 攻擊都是來盜用 cookie 的,因此還可以通過使用 httponly 屬性來保護我們 cookie 的安全。通常伺服器可以將某些 cookie 設定為 httponly 標誌,httponly 是伺服器通過 http 響應頭來設定的

總結:除了以上策略之外,還可以通過新增驗證碼防止指令碼冒充使用者提交危險操作。而對於一些不受信任的輸入,還可以限制其輸入長度,這樣可以增大 xss 攻擊的難度。

csrf:跨站請求偽造、無法獲取使用者的cookie而是直接冒充使用者、需要使用者登入後進行操作

總的來說就是csrf是一種挾制使用者在當前已登入的web應用程式上執行非本意的操作的攻擊方法。跟跨**指令碼(xss)相比,xss 利用的是使用者對指定**的信任,csrf 利用的是**對使用者網頁瀏覽器的信任。

前端必備知識點 SVG

基本內容 什麼是svg?全稱為scalable vector graphics,是一種使用xml技術描述二維圖形的語言,簡單來說 向量圖 不失真 svg與html5的關係 早在html5之前,存在svg技術 svg擴充套件名為 svg 在html5出現之前,要在html頁面中引入svg檔案 在htm...

Oracle 必備知識點

sql alter user scott identified by mypassword sql alter user scott account unlock 作業系統認證,不需要資料庫伺服器啟動listener,也不需要資料庫伺服器處於可用狀態。比如我們想要啟動資料庫就可以用這種方式進入sql...

面試必備知識點

盒模型 css的單位和應用場景及rem的設定,正方形的處理 定位,回流與重繪 ifc bfc與清除浮動 相容處理及 查詢 css預處理與後處理 css module及第三方庫的樣式覆蓋 deep 和global 深入vue的響應原理?手動實現發部訂閱 手動實現簡單mvvm vue多版本之間的區別 執...