一、CSRF攻擊:api
CSRF(Cross-site request forgery):跨站請求僞造。跨域
(1)、攻擊原理:瀏覽器
如上圖,在B網站引誘用戶訪問A網站(用戶以前登陸過A網站,瀏覽器 cookie 緩存了身份驗證信息),緩存
經過調用A網站的接口攻擊A網站。服務器
(2)、防護措施:cookie
1)token驗證:登錄成功後服務器下發token令牌存到用戶本地,再次訪問時要主動發送token,瀏覽器只能主動發cookie,作不到主動發tokenxss
2)referer驗證:判斷頁面來源是否本身站點的頁面,不是不執行請求網站
3)隱藏令牌: 令牌放在http header頭中,而不是連接中編碼
二、XSS 攻擊:url
XSS(Cross Site Scripting):跨域腳本攻擊。
(1)、攻擊原理:
不須要你作任何的登陸認證,它會經過合法的操做(好比在url中輸入、在評論框中輸入),向你的頁面注入腳本(多是js、hmtl代碼塊等)。
(2)、防護措施:
令xss沒法攻擊,好比對注入的東西進行轉義、編碼、過濾、校訂等。
三、區別:
CSRF:須要用戶先登陸網站A,獲取 cookie。XSS:不須要登陸。
CSRF:是利用網站A自己的漏洞,去請求網站A的api。XSS:是向網站 A 注入 JS代碼,而後執行 JS 裏的代碼,篡改網站A的內容。