xss與csrf的學習
XSS:
跨站腳本(Cross-site Scripting),xss攻擊是一種註入式攻擊。基本做法為將惡意代碼註入到目標網站,用戶在不知情的情況瀏覽了註入惡意代碼的網頁是,瀏覽器就會無差別的執行代碼,從而觸發了惡意代碼,一般xss分為兩種類型,一種是持久化的xss和非持久化xss;
持久化xss:通過一些正常的站內交互途徑,例如攻擊者在論壇或貼吧裏發了包含惡意代碼“誘惑”帖子,該帖子會保存在站內數據庫中,當被“誘惑”的用戶要瀏覽帖子時,網站後臺將惡意代碼從數據庫取出返回響應到瀏覽器,瀏覽器在渲染帖子的內容時就會無差別的執行了惡意代碼,通常惡意代碼都會去獲取用戶的cookie並發送給惡意網站,這樣用戶就會在不知情的情況下被偷走了用戶信息。(所謂的持久就是將惡意代碼通過信息數據的渠道放置於平臺的數據庫中)
非持久化xss: 攻擊者構造了一個跳轉到惡意網站的URL,並誘導用戶去訪問並跳轉到惡意網站,而攻擊者構造的腳本裏包含獲取用戶敏感信息的代碼從而獲取用戶的敏感信息。
CSRF:
跨站點請求偽造(cross-site-request-forgrey),CSRF攻擊通常是去冒充用戶之手去做用戶未批準的事情。例如:用戶A登錄網站B,在與網站B的會話沒有結束時被誘導地訪問了危險網站C,這是網站C通過惡意的代碼去獲取用戶信息A的身份信息,而惡意網站c會利用用戶A身份信息頂著我是A在網站B進行用戶A不知情的惡意操作。
cookie在這些過程中扮演的角色:
在哈利波特中,有一個精靈掌管的古閣靈銀行。。想要訪問深層、安保級別更高的金庫需要認證精靈認證的方式才能打開金庫大門。而cookie就是那通過身份驗證的身份ID。那些攻擊者為了進入金庫大門對你的金庫有所操作,就會誘導你瀏覽那些包含惡意腳本的網頁從而獲取你的cookie冒充你在你的金庫操作。
xss與csrf的學習