** ##
csrf(cross site request forgery)即跨站請求偽造是一種常見的web攻擊。
攻擊原理:
a、使用者開啟瀏覽器,訪問受信任**a,輸入使用者名稱和密碼請求登入**a;
b、在使用者資訊通過驗證之後,**a產生cookie資訊並返回給瀏覽器,此時使用者登入**a成功,可以正常傳送請求到**a;
c、使用者未退出**a之前,在同一瀏覽器中開啟乙個tab網頁訪問**b;
d、**b在接收到使用者請求後返回一些攻擊性**,並發出乙個請求要求訪問第三方站點a;
e、瀏覽器在接收到這些攻擊性**後,根據**b的請求,在使用者不知情的情況下攜帶cookie資訊,向**a發出請求。**a並不知道該請求其實是由b發起的,所以會根據使用者的cookie資訊以使用者的許可權處理該請求,導致來自**b的惡意**被執行。
解決方案:
(1)驗證http referer欄位。根據http協議,在http頭中有乙個欄位交referer,它記錄了http請求的**位址。當瀏覽器向web伺服器傳送請求時,一般會帶上referer資訊告訴伺服器這是從哪個頁面鏈結過來的,伺服器就可以得到一些資訊來檢查請求的**來防禦csrf攻擊。但是在某些情況下如從https跳轉到http,瀏覽器處於安全考慮,不會傳送referer,這樣伺服器就無法進行檢查了,所以驗證http referer欄位並不能作為防禦csrf攻擊的主要手段,但是可以用來監控csrf攻擊的發生。
(2)在請求位址中新增token並驗證。傳送請求時在http請求中以引數的形式加入隨機產生的乙個token,並在伺服器端建立乙個***來驗證這個token。但是在處理多個頁面共存問題時,當某個頁面消耗掉token時,其他頁面的表單儲存的還是被消耗的那個token,當提交表單時就會發生token錯誤。
sql注入(sql injection),應用程式在向後台資料庫傳遞sql時,攻擊者將sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,達到欺騙伺服器執行惡意的sql命令。
解決方案:
(1)防止系統敏感資訊洩露。
(2)資料轉義。
(3)增加黑白名單驗證。
該漏洞允許使用者上傳任意檔案可能會讓攻擊者注入危險內容或惡意**,並在伺服器上執行。
原理:由於檔案上傳功能實現**沒有嚴格限制使用者上傳的檔案字尾以及檔案型別,導致允許攻擊者向某個可通過web訪問的目錄上傳任意php檔案,並能夠將這些檔案傳遞給php直譯器,就可以在遠端伺服器上執行任意php指令碼。
解決方案:
(1)檢查伺服器是否判斷檔案上傳型別和字尾。
(2)定義上傳檔案型別的白名單,也就是只允許白名單裡面型別的檔案上傳。
(3)檔案上傳目錄禁止執行指令碼解析,避免攻擊者進行二次攻擊。
安全性問題
更改預設密碼 大量關鍵資訊 金融的 市場的 私人的 難以置信地在 inter 上失竊,不僅因為不夠嚴密的安全體系結構,還因為不負責任地留下了資料庫和系統的預設安裝密碼。如果您不希望成為上述的一員,一定要更改 rdbms windows nt 計算機和其他資源中眾所周知的使用者預設登入密碼。檢查入口處...
前端安全性問題和解決防範
示例 解決方案 使用正則匹配去除某些字串 過濾網域名稱 function filterxss str,regexp return filtervalue 方案總結1 輸入過濾 在js中對使用者輸入的資料進行過濾 2 將輸出的字串中的反斜槓進行轉義 3 從url中獲取的資訊,在前端進行轉義後再輸出 4...
執行緒安全性問題
相同的票數,比如5這張票被賣了多回。不存在的票,比如0票與 1票,是不存在的。這種問題,幾個視窗 執行緒 票數不同步了,這種問題稱為執行緒不安全。執行緒安全問題都是由全域性變數及靜態變數引起的。若每個執行緒中對全域性變數 靜態變數只有讀操作,而無寫操作,一般來說,這個全域性變數是執行緒安全的 若有多...