XSS攻擊原理
php
xss誘使Web站點執行原本不屬於它的代碼,而這些代碼由攻擊者提供、爲用戶瀏覽器加載。攻擊者利用 這些代碼執行來獲取信息。從本質上來說,XSS漏洞終究緣由是因爲網站的Web應用對用戶提交請求參數未作充 分的檢查過濾。 例子: 咱們能夠給輸入框輸入:<I><FONT SIZE=7>Java</FONT></I>,若是網站存在安全漏洞的話就會出現顯示「Java」,若是將其換成不安全腳本將會產生危害
盜取用戶的各種敏感信息,如帳號密碼瀏覽器
讀取、篡改、添加、刪除企業敏感數據安全
讀取企業重要的具備商業價值的服務器
控制受害者機器向其它網站發起攻擊cookie
Javascript來對字符進行過濾,將一些如%、< 、>、 [、]、{、}、;、&、+、-、"、(、) 的字符過濾掉。session
使用HTML和URL編碼xss
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的到期時間,時間越短越安全,可是用戶越不方便
Web應用程序是使用HTTP協議傳輸數據,而HTTP協議是無狀態的協議。一旦數據交換完畢,客戶端與服務器端的鏈接就會關閉,再次交換數據須要創建新的鏈接。這就意味着服務器沒法從鏈接上跟蹤會話。爲此引入cookie和session機制。
cookie其實是一小段放在客戶端的文本信息,信息按照K——V的形式存放,好比常見的保存用戶名、密碼方便下次登陸。
session是服務器端使用的一種記錄客戶端狀態的機制,做用是給客戶端指定惟一通行證——sessionId,同時保存在「客戶檔案」中。
當客戶端和服務器首次創建鏈接時,服務器就會給客戶端分配惟一通行證——sessionId,同時session也會在本地創建一個客戶檔案,當下次客戶端請求的時候只須要驗證sessionId。