WEB安全相關整理集合

WEB系統安全

web開發過程當中,安全隱患問題不容忽視。java

本文介紹常見的安全問題及防禦措施web

登陸認證防暴力破解

登陸認證模塊提供防暴力破解機制後端

現象:

屢次更換不一樣用戶名密碼嘗試登陸api

防禦措施:

生物智能手段,主要防禦措施以下:安全

  • 圖片識別
  • 文字識別
  • 短信驗證碼
  • 第三方確認-阿里雲登陸在手機支付寶確認

屢次失敗登陸

現象:

屢次獲取驗證碼而且登陸失敗,且還在持續嘗試登陸服務器

防禦措施:

連續獲取驗證碼、登陸5次失敗後,帳號鎖定15分鐘
本條防護措施應該和生物智能手段聯用,防禦效果更加markdown

url越權

現象:

當前登陸用戶訪問了不屬於本身菜單權限的頁面cookie

防禦措施:

對於每個須要受權訪問的頁面都必須覈實用戶的訪問標識是否容許。 用戶是否被受權去某個頁面操做,防止URL越權 Vue-路由守衛處判斷攔截session

登陸口令保護

現象:

用戶登陸後,後端返回的口令直接保存,並在下一次請求時直接傳輸。此時若是是正經常使用戶訪問目標服務器,是沒有任何問題的。若是攻擊者拿到口令尼,攻擊者將有和被攻擊者一樣的身份權限去訪問目標網站接口。框架

防禦措施:

用戶登陸後保存sessionId在localstoage或者cookie中,再去請求接口時須要加密登陸口令後再傳輸,不能直接拿原始sessionId請求,訪問api越權操做

越權

垂直越權

垂直越權是一種「基於URL的訪問控制」設計缺陷引發的漏洞,又叫作權限提高攻擊。

現象:

攻擊者在得到低權限用戶帳戶後,利用一些方式繞過權限檢查,訪問或者操做其餘用戶或者更高權限

水平越權

水平越權訪問是一種「基於數據的訪問控制」設計缺陷引發的漏洞。

現象:

攻擊者在得到目標網站登陸用戶登陸信息後,利用數據校驗漏洞訪問了其餘權限等級用戶的數據信息。

越權

防禦措施:

  1. 先後端都要對用戶輸入信息、路由權限、數據分離進行校驗,雙重驗證機制
  2. 調用功能前驗證用戶是否有權限調用相關功能
  3. 執行關鍵操做前必須驗證用戶身份,驗證用戶是否具有操做數據的權限
  4. 直接對象引用的加密資源ID,防止攻擊者枚舉ID,敏感數據特殊化處理
  5. 永遠不要相信來自用戶的輸入,對於可控參數進行嚴格的檢查與過濾

java選用工業級的處理方式-shiro框架應用

其餘安全

上傳問題防護

  • 限制上傳文件後綴
  • 文件類型檢查
  • 文件內容檢查
  • 程序輸出
  • 權限控制-可寫可讀執行互斥

XSS

  • 輸入校驗
  • 輸出轉碼

富文本

常見的引起XSS攻擊,白名單過濾

cookie泄露冒用:

在用戶登陸後返回一個 簽名(sign),這個簽名是依靠uid生成的。都返回給客戶端保存在cookie中,

接口加統一攔截,校對uid和sign,若是正確正常返回接口,若是不正確,返回您正在進行違規操做

安全日誌

日誌和安全表面來看,好像關係不大。
可是一旦由於安全問題產生垃圾數據時,日誌的做用就會無限放大。
經過日誌記錄能夠分析出什麼時候、何人、何地作了什麼操做,對咱們後期刪除垃圾數據、恢復異常數據來說,意義重大。

總結

安全問題對於web應用開發來講,避無可避。
問題出現的方式層出不窮,可是隻要掌握了核心的處理思路就會事半功倍。
下圖是筆者整理的安全攻防策略圖: 安全相關

歡迎各位讀者指出錯誤的地方,留言討論。

參考資料:

水平越權訪問與垂直越權訪問漏洞

相關文章
相關標籤/搜索