示例:
解決方案:(使用正則匹配去除某些字串、過濾網域名稱)
function
filterxss
(str,regexp)
return filtervalue;
}
方案總結1、輸入過濾:在js中對使用者輸入的資料進行過濾
2、將輸出的字串中的反斜槓進行轉義
3、從url中獲取的資訊,在前端進行轉義後再輸出
4、使用cookie的onlyhttp屬性
csrf是通過 仿造客戶端的請求 獲取資訊的,對於jsonp的請求,客戶端確實可以仿造,但是因為對於ajax的請求,有同源策略限制,已經做了網域名稱過濾,所以一般不會有問題。
以使用者的名義偽造請求傳送給被攻擊站點,從而在未授權的情況下進行許可權保護的操作。解決方案1、客戶端帶乙個特定標識到服務端,比如token,服務端檢查token
2、服務端判斷refer,對refer的網域名稱進行過濾和攔截(referer check:檢查請求**來防禦csrf)
refer指向原則
1、在a.html裡面傳送了ab.json請求,則服務端拿到的refer位址是a.html的位址,即當前頁面的html位址
2、直接在瀏覽器裡面輸入該位址(html或者json),則refer為空
3、從上個頁面a.html跳轉到b.html,則b.html的refer位址為a.html
sql注入的本質:資料和**未分離,即資料當做了**來執行。
應用程式在向後台資料庫傳遞sql時,攻擊者將sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行的惡意sql命令。
解決方案
1、防止系統敏感資訊洩露:該方法主要是在後台實現
2、資料轉義
3、增加黑名單或白名單驗證
解決方案
1、檢查伺服器是否判斷了上傳檔案型別及字尾
2、定義上傳檔案型別白名單
3、檔案上傳目錄禁止直行指令碼解析
os命令注入攻擊指通過web應用,執行非法的作業系統命令達到攻擊的目的。
如何防禦
1、後端對前端提交內容進行規則限制(比如正規表示式)
2、在呼叫系統命令前對所有傳入引數進行命令列引數轉義過濾
3、不要直接拼接命令語句,借助一些工具做拼接、轉義預處理,例如node.js的shell-escape npm包
前端安全性問題
csrf cross site request forgery 即跨站請求偽造是一種常見的web攻擊。攻擊原理 a 使用者開啟瀏覽器,訪問受信任 a,輸入使用者名稱和密碼請求登入 a b 在使用者資訊通過驗證之後,a產生cookie資訊並返回給瀏覽器,此時使用者登入 a成功,可以正常傳送請求到 a ...
安全性問題
更改預設密碼 大量關鍵資訊 金融的 市場的 私人的 難以置信地在 inter 上失竊,不僅因為不夠嚴密的安全體系結構,還因為不負責任地留下了資料庫和系統的預設安裝密碼。如果您不希望成為上述的一員,一定要更改 rdbms windows nt 計算機和其他資源中眾所周知的使用者預設登入密碼。檢查入口處...
執行緒安全性問題
相同的票數,比如5這張票被賣了多回。不存在的票,比如0票與 1票,是不存在的。這種問題,幾個視窗 執行緒 票數不同步了,這種問題稱為執行緒不安全。執行緒安全問題都是由全域性變數及靜態變數引起的。若每個執行緒中對全域性變數 靜態變數只有讀操作,而無寫操作,一般來說,這個全域性變數是執行緒安全的 若有多...