常見的WEB安全及防護


CIA知道么 ?

  • 機密性(Confidentiality)
  • 完整性(Integrity)
  • 可用性(Availiability)

常見的web攻擊有 XSS ,CSRF;

xss 到底是什么 ?

  黑客在你的瀏覽器中插入一段惡意JS腳本,竊取你的隱私信息【這里泛指cookie登錄信息】,冒充你的身份進行操作,這就是XSS攻擊(Cross-Site-Scripting,跨站腳本攻擊)。補充一下,為什么不叫CSS,是因為CSS是重疊樣式,為了有所區別,即XSS。

XSS的類型有哪些 ?

  1. 發射型XSS(非持久型)
  2. 基於DOM的XSS
  3. 存儲型XSS(持久性)
  • 反射型

    惡意JS腳本屬於用戶發送給網站請求中的一部分,隨后網站又將這些部分返回給用戶,惡意腳本在頁面中被執行,一般發生在前后端一體的應用中,服務端邏輯會改變最終的網頁代碼。

  • 基於DOM型

    目前更流行前后端分離的項目,反射型XSS無用武之地,但這種攻擊不需要經過服務器,網頁本身的JS也是可以改變HTML,黑客正是利用這一點來實現的插入惡意腳本。

  • 存儲型

    持久型XSS,黑客將惡意JS腳本長期保存在服務端數據庫,用戶一旦訪問相關頁面數據,惡意腳本就會被執行,常見於搜索,微博,社區貼吧評論等。

XSS攻擊的結果是什么 ?

  1.  盜取用戶cookie
  2. 未授權操作
  3. 修改DOM
  4. 刷浮窗廣告
  5. 發動XSS蠕蟲攻擊
  6. 劫持用戶行為,進一步滲透內網  

 如何防護XSS攻擊:

  • 一切用戶輸入皆不可信,在輸出時進行驗證
  • 將HTML元素內容,屬性以及URL請求參數,css值編碼
  • 當編碼影響業務時,使用白名單規則進行檢測和過濾
  • 使用W3C提出的CSP(內容安全策略),定義域名白名單
  • 設置cookie的httpOnly屬性

CSRF攻擊是什么 ?

   英文全稱是Cross-Site-Request-Forgery 即 跨站請求偽造,顧名思義 CSRF攻擊就是黑客引誘用戶打開黑客的網站,利用用戶的登錄狀態發起跨站請求。

   降維解釋: 攻擊者誘導受害者進入第三方網站,在第三方網站中,向被攻擊網站發送跨站請求,利用受害者在被攻擊網站已經獲取的注冊憑證,繞過后台的用戶驗證,達到冒充用戶被攻擊的網站執行某項操作的目的。

CSRF攻擊的實現方式:

  • 最容易實現的是GET請求,一般進入黑客網站后,可以通過設置 img 的 src屬性來自動發起請求。
  • 在黑客網站中,構造隱藏表單來自動發起POST請求。
  • 通過引誘鏈接誘惑用戶點擊觸發請求,利用 a 標簽 href。

如何防范CSRF攻擊:

  • 針對實際情況,設置 Cookie 的 SameSite 屬性為 Strict 或 Lax。
  • 服務端驗證請求來源(Referer,Origin)。
  • 使用CSRF Token ,服務端隨機生成返回給瀏覽器的Token。
  • 加入二次驗證(獨立的支付密碼)。

CSRF 與 XSS 有什么區別:

   CSRF攻擊不需要將惡意代碼注入用戶頁面,僅僅是利用服務端的漏洞, 和用戶的登錄狀態來實施攻擊。

   CSRF攻擊成本比XSS低,用戶每天都要訪問大量網頁,無法確定每一個網頁的合法性,從用戶的角度來說,無法徹底防止CSRF攻擊。

最后說兩個加密算法:

  • 對稱加密算法

    對稱加密算法就是加密和解密使用同一個秘鑰,簡單粗暴。

    常見經典對稱加密算法有 DES,AES,IDEA,國密 SM1,國密SM4。

  • 非對稱加密算法

    非對稱加密就是加密和解密使用不同的秘鑰,發送方使用公鑰對信息加密,接收方收到密文后,使用私鑰解密,主要解決了密鑰分發的難題。

    簽名就是私鑰加密

    經典非對稱加密算法有 RSA,ECC和SM2。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM