WEB前後端漏洞分析與防禦技巧--第二部分

WEB前後端漏洞分析與防禦技巧–第二部分

第五章 傳輸安全

HTTP傳輸竊聽
HTTP傳輸竊聽

HTTP竊聽

  1. 竊聽用戶密碼
  2. 竊聽傳輸敏感信息
  3. 非法獲取個人資料

HTTP篡改

  1. 插入廣告
  2. 重定向網站
  3. 無法防禦的XSS和CSRF攻擊

HTTPS

HTTPS

中間人攻擊

中間人攻擊

如何確定服務器身份

如何確定服務器身份

第六章 密碼安全

密碼的作用:證明你是你

密碼-比對:存儲的密碼比對輸入的密碼

密碼-泄露渠道:

  1. 數據庫被偷
  2. 服務器被入侵
  3. 通訊被竊聽
  4. 內部人員泄露數據
  5. 其他網站(撞庫)

密碼-存儲

  1. 嚴禁密碼的明文存儲(防泄漏)
  2. 單向變換(防泄漏)
  3. 變換複雜度要求(防猜解)
  4. 密碼複雜度要求(防猜解)
  5. 加鹽(防猜解)

密碼-哈希算法

  1. 原文-密文一一對應
  2. 雪崩效應(原文變動特別小,密文完全不同)
  3. 密文-原文,無法反推
  4. 密文固定長度
  5. 常見哈希算法:md5,sha1,sha256

密碼-MD5單向變換

密碼-MD5單向變換
由於存在哈希算法對應的彩虹表,所以MD5單向變換並不安全。應該採用如下方式進行密碼哈希變換。

md5(明文) = 密文
md5(md5(明文)) = 密文
md5(sha1(明文)) = 密文
md5(sha256(sha1(明文))) = 密文

單向變換彩虹表

單向變換彩虹表

密碼(加鹽和多次哈希)

對於每個用戶生成的隨機鹽值也應該存儲到DB中去,以便用戶登錄的時候使用

計算鹽值和加密密碼的方式

計算鹽值和加密密碼的方式

密碼-幫助用戶加強複雜度

密碼-幫助用戶加強複雜度

密碼-變換次數越多越安全

  1. 加密成本幾乎不變(生成密碼時速度慢一些)
  2. 彩虹表失效(數量太大,無法建立通用性)
  3. 解密成本增大N倍

密碼-密碼傳輸的安全性

  1. https傳輸
  2. 頻率限制
  3. 前端加密意義有限

第七章 接入層注入問題

SQL注入

原理:原本預期是數據的用戶輸入混到了sql的邏輯裏面,改變了sql原本的含義。

例1:
例1
例2:
例2

SQL注入危害

  1. 猜解密碼
  2. 獲取數據
  3. 刪庫刪表
  4. 拖庫

SQL注入防禦

  1. 關閉錯誤輸出
  2. 檢查數據類型
  3. 對數據進行轉義
  4. 使用參數化查詢(最根本的方法)
  5. 使用ORM(對象關係映射)

NoSQL注入和防禦

  1. 檢查數據類型
  2. 類型轉換
  3. 寫完整的條件

第八章 接入層上傳問題

存在漏洞的原因:

  1. 上傳文件
  2. 再次訪問上傳的文件
  3. 上傳的文件被當成程序解析

上傳漏洞防禦

  1. 限制上傳的後綴(不可靠)
    在這裏插入圖片描述
  2. 文件類型的檢查(不可靠)
    在這裏插入圖片描述
  3. 文件內容檢查(通過文件的頭幾個字節去判斷,也不能100%可靠)
  4. 程序輸出(會存在性能損耗,程序先讀一遍到內存中,然後傳給用戶)
  5. 權限控制-可寫可執行互斥 (基本原則,應儘量滿足)

第九章 社會工程學和信息泄露

信息泄露

  1. 泄露系統敏感信息
  2. 泄露用戶敏感信息
  3. 泄露用戶密碼

信息泄露的途徑

  1. 錯誤信息失控
  2. SQL注入
  3. 水平權限控制不當
  4. XSS/CSRF
  5. ……

社會工程學

社會工程學

  1. 你的身份由於掌握的資料確認
  2. 別人掌握了你的資料
  3. 別人僞裝成你的身份
  4. 別人利用你的身份幹壞事

OAUTH思想

OAUTH思想

  1. 一切行爲由用戶授權
  2. 授權行爲不泄露敏感信息
  3. 授權會過期

利用OAUTH思想防止資料泄露

利用OAUTH思想防止資料泄露

第十章 其他安全問題

  1. 拒絕服務DOS
  2. 重放攻擊

拒絕服務攻擊DOS

  1. 模擬正常用戶
  2. 大量佔用服務器資源
  3. 無法服務正常用戶

常用攻擊方式

  1. TCP半連接
  2. HTTP連接
  3. DNS

分佈式拒絕服務攻擊DDOS

  1. 流量可以達到幾十到上百G
  2. 分佈式(肉機,代理)
  3. 極難防禦

DOS攻擊防禦

  1. 防火牆
  2. 交換機,路由器
  3. 流量清洗
  4. 高防IP(大量流量清洗服務,高帶寬)

DOS攻擊預防

  1. 避免重邏輯業務
  2. 快速失敗快速返回
  3. 防雪崩機制
  4. 有損服務
  5. CDN

重放攻擊

  1. 請求被竊聽或記錄
  2. 再次發相同的請求
  3. 產生意外的後果

重放攻擊的後果

  1. 用戶被多次消費
  2. 用戶登錄態被盜取
  3. ……

重放攻擊的防禦

  1. 加密(https)
  2. 時間戳
  3. token(session)
  4. nonce
  5. 簽名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章