内容:
1.跨站腳本攻擊XSS
2.跨站請求僞造CSRF
一、跨站腳本攻擊XSS
1.1 什麼是XSS
跨站腳本攻擊(Cross Site Script為了差別于CSS簡稱為XSS)指的是惡意攻擊者往Web頁面裡插入惡意html代碼,當使用者浏覽該頁之時,嵌入其中Web裡面的html代碼會被執行,進而達到惡意使用者的特殊目的。比如:有些人在留言闆中輸入惡意腳本來擷取使用者的帳号和密碼。
1.2 XSS的危害
1.2.1 盜取種類使用者帳号,如機器登入帳号、使用者網銀帳号、各類管理者帳号
1.2.2 控制企業資料,包括讀取、篡改、添加、删除企業敏感資料的能力
1.2.3 盜竊企業重要的具有商業價值的資料
1.2.4 非法轉賬
1.2.5 強制發送電子郵件
1.2.6 控制受害者機器向其它網站發起攻擊
1.3.如何防止
最常見的是對特殊字元如”<”,”>”進行轉義,當然其它的手法防止手法,大家可以參考其它資料
二、跨站請求僞造CSRF
2.1 什麼是CSRF
CSRF是Cross Site Request Forgery的縮寫,乍一看和XSS差不多的樣子,但是其原理正好相反,XSS是利用合法使用者擷取其資訊,而CSRF是僞造成合法使用者發起請求。
2.2 CSRF原理
首先,你登入了銀行網站A,然後通路危險網站B,噢,這時你會發現你的銀行賬戶少了1000塊......
為什麼會這樣呢?原因是銀行網站A違反了HTTP規範,使用GET請求更新資源。在通路危險網站B的之前,你已經登入了銀行網站A,而B中 的<img>以GET的方式請求第三方資源(這裡的第三方就是指銀行網站了,原本這是一個合法的請求,但這裡被不法分子利用了),是以你的浏 覽器會帶上你的銀行網站A的Cookie發出Get請求,去擷取資源“http://www.mybank.com /Transfer.php?toBankId=11&money=1000”,結果銀行網站伺服器收到請求後,認為這是一個更新資源操作(轉賬 操作),是以就立刻進行轉賬操作......
CSRF攻擊是源于WEB的隐式身份驗證機制!WEB的身份驗證機制雖然可以保證一個請求是來自于某個使用者的浏覽器,但卻無法保證該請求是使用者準許發送的
示意圖

2.3 如何防止CSRF攻擊
2.3.1 Cookie Hashing(所有表單都包含同一個僞随機值):
2.3.2 驗證碼
2.3.3 One-Time Tokens(不同的表單包含一個不同的僞随機值)
2.3.4 WEB表單結構
2.3.5 服務端核對令牌
參考資料:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
CSRF攻擊是源于WEB的隐式身份驗證機制!WEB的身份驗證機制雖然可以保證一個請求是來自于某個使用者的浏覽器,但卻無法保證該請求是使用者準許發送的