跨站腳本攻擊(XSS)和跨站請求僞造攻擊(CSRF)

XSS攻擊原理
php

xss誘使Web站點執行原本不屬於它的代碼,而這些代碼由攻擊者提供、爲用戶瀏覽器加載。攻擊者利用
這些代碼執行來獲取信息。從本質上來說,XSS漏洞終究緣由是因爲網站的Web應用對用戶提交請求參數未作充
分的檢查過濾。
例子:
咱們能夠給輸入框輸入:<I><FONT SIZE=7>Java</FONT></I>,若是網站存在安全漏洞的話就會出現顯示「Java」,若是將其換成不安全腳本將會產生危害

危害

  • 盜取用戶的各種敏感信息,如帳號密碼瀏覽器

  • 讀取、篡改、添加、刪除企業敏感數據安全

  • 讀取企業重要的具備商業價值的服務器

  • 控制受害者機器向其它網站發起攻擊cookie

如何預防

  • Javascript來對字符進行過濾,將一些如%、< 、>、 [、]、{、}、;、&、+、-、"、(、) 的字符過濾掉。session

  • 使用HTML和URL編碼xss

CSRF攻擊原理

CSRF經過假裝來自受信任用戶的請求來利用受信任的網站,能夠XSS來獲取受信任用戶tookie來假裝爲受信任用戶。
例子:
(1)若果一個論壇網站的發帖使用的是get請求咱們JS把發貼內容拼接成目標URL並訪問
http://example.com/bbs/create_post.php?title=我是腦殘&content=哈哈,只要你點擊了這個連接便會在用你的用戶名在論壇發這樣一個帖子。爲何會用你的用戶名發帖呢,這是由於多窗口瀏覽器問題。
(2)圖片連接有獲取tookie的js代碼,能夠獲取你的cookie冒充你。

多窗口瀏覽器問題:
多窗口瀏覽器永遠都只有一個進程,各窗口的會話是通用的,即看新聞的窗口發請求到Blog是會帶上我在blog登陸的cookie。

危害

  • 同XSS攻擊post

如何預防

  • 檢查訪問源的報頭,檢查refer網站

  • 使用祕密的沒法預測的驗證符號編碼

  • 使用定製的HTTP報頭

  • 限制驗證cookie的到期時間,時間越短越安全,可是用戶越不方便

cookie和session機制

Web應用程序是使用HTTP協議傳輸數據,而HTTP協議是無狀態的協議。一旦數據交換完畢,客戶端與服務器端的鏈接就會關閉,再次交換數據須要創建新的鏈接。這就意味着服務器沒法從鏈接上跟蹤會話。爲此引入cookie和session機制。
  • cookie其實是一小段放在客戶端的文本信息,信息按照K——V的形式存放,好比常見的保存用戶名、密碼方便下次登陸。

  • session是服務器端使用的一種記錄客戶端狀態的機制,做用是給客戶端指定惟一通行證——sessionId,同時保存在「客戶檔案」中。

  • 當客戶端和服務器首次創建鏈接時,服務器就會給客戶端分配惟一通行證——sessionId,同時session也會在本地創建一個客戶檔案,當下次客戶端請求的時候只須要驗證sessionId。

擴展閱讀:

        XSS攻擊

相關文章
相關標籤/搜索