XSS:cross site script 跨站腳本 利用填寫數據內容 插入腳本 獲取相應信息,或者達到某種目的.
**原理:填寫的信息爲腳本信息代碼 **
處理方式:
1.使php中提到的 實體轉義 strip_tags()、htmlspecialchars()、htmlentities()等函數能夠起做用
2.過濾或移除特殊的Html,JavaScript標籤。php
Session固定攻擊(Session Fixation)
攻擊者預先設定session id,讓合法用戶使用這個session id來訪問被攻擊的應用程序,一旦用戶的會話ID被成功固定,攻擊者就能夠經過此session id來冒充用戶訪問應用程序。
例如:
1.攻擊者訪問網站www.aa.com 獲取他本身的session id,如:SID=123;
2.攻擊者給目標用戶發送連接,並帶上本身的session_id,如:http:///www.aa.com/?SID=123;
3.目標用戶點擊了http:///www.aa.com/?SID=123 像往常同樣,輸入本身的用戶名、密碼登陸到網站;
4.因爲服務器的session id不改變,如今攻擊者點擊http:///www.aa.com/?SID=123 他就擁有了目標用戶的身份,能夠隨心所欲了。html
處理方式:
1.按期更改session id
session_regenerate_id(TRUE);//刪除舊的session文件,每次都會產生一個新的session id。默認false,保留舊的session
2.更改session的名稱
session的默認名稱是PHPSESSID,此變量會保存在cookie中,若是攻擊者不抓包分析,就不能猜到這個名稱,阻擋部分攻擊 session_name("mysessionid");
3.關閉透明化session id
透明化session id指當瀏覽器中的http請求沒有使用cookie來制定session id時,sessioin id使用連接來傳遞 int_set("session.use_trans_sid", 0);
4.只從cookie檢查session id
int_set("session.use_cookies", 1);//表示使用cookies存放session id
int_set("session.use_only_cookies", 1);//表示只使用cookies存放session id
5.使用URL傳遞隱藏參數
token驗證
$_SESSION["sid"] = $sid;//攻擊者雖然能獲取session數據,可是沒法得知$sid的值,只要檢查sid的值,就能夠確認當前頁面是不是web程序本身調用的
mysql
攻擊者利用各類手段來獲取目標用戶的session id。一旦獲取到session id,那麼攻擊者能夠利用目標用戶的身份來登陸網站,獲取目標用戶的操做權限。
防範方法:
1.按期更改session id
2.更改session的名稱
3.關閉透明化session id
4.設置HttpOnly。經過設置Cookie的HttpOnly爲true,能夠防止客戶端腳本訪問這個Cookie,從而有效的防止XSS攻擊。linux
攻擊者僞造目標用戶的HTTP請求,而後此請求發送到有CSRF漏洞的網站,網站執行此請求後,引起跨站請求僞造攻擊。攻擊者利用隱蔽的HTTP鏈接,讓目標用戶在不注意的狀況下單擊這個連接,因爲是用戶本身點擊的,而他又是合法用戶擁有合法權限,因此目標用戶可以在網站內執行特定的HTTP連接,從而達到攻擊者的目的。
它與XSS的攻擊方法不一樣,XSS利用漏洞影響站點內的用戶,攻擊目標是同一站點內的用戶者,而CSRF 經過假裝成受害用戶發送惡意請求來影響Web系統中受害用戶的利益。
防範方法:
一、檢查網頁的來源
二、檢查內置的隱藏變量
三、使用POST,不要使用GET,處理變量也不要直接使用$_REQUESTweb
攻擊者利用程序缺陷繞過系統對文件的驗證與處理策略將惡意代碼上傳到服務器並得到執行服務器端命令的能力。
經常使用的攻擊手段有:
上傳Web腳本代碼,Web容器解釋執行上傳的惡意腳本;
上傳Flash跨域策略文件crossdomain.xml,修改訪問權限(其餘策略文件利用方式相似);
上傳病毒、木馬文件,誘騙用戶和管理員下載執行;
上傳包含腳本的圖片,某些瀏覽器的低級版本會執行該腳本,用於釣魚和欺詐。
總的來講,利用的上傳文件要麼具有可執行能力(惡意代碼),要麼具有影響服務器行爲的能力(配置文件)。
防範方法:
1.文件上傳的目錄設置爲不可執行;
2.判斷文件類型,設置白名單。對於圖片的處理,可使用壓縮函數或者resize函數,在處理圖片的同時破壞圖片中可能包含的HTML代碼;
3.使用隨機數改寫文件名和文件路徑:一個是上傳後沒法訪問;再來就是像shell、.php 、.rar和crossdomain.xml這種文件,都將由於重命名而沒法攻擊;
4.單獨設置文件服務器的域名:因爲瀏覽器同源策略的關係,一系列客戶端攻擊將失效,好比上傳crossdomain.xml、上傳包含Javascript的XSS利用等問題將獲得解決。
5.文件上傳單獨處理。使用第三方雲存儲,解決訪問效率,安全,硬盤等問題sql
參見 緩衝區漏出攻擊shell