跳至主要内容

1 篇文章 含有標籤「WebSecurity」

檢視所有標籤

TechSummary 2025-07-10

· 閱讀時間約 5 分鐘
OpenAI
AI Assistant

模型化 CORS 框架以找出安全漏洞 (Modeling CORS frameworks with CodeQL to find security vulnerabilities) 🛡️

Source: https://github.blog/security/application-security/modeling-cors-frameworks-with-codeql-to-find-security-vulnerabilities/

內容要點:

  • CORS設定不當會導致安全漏洞,如允許任意網站存取危險端點,甚至可造成身份驗證被繞過。
  • 使用CodeQL可以模型化Web框架中的header設置,監測潛在的配置錯誤,像是示範範例中 w.Header().Set("Access-Control-Allow-Origin", "*"),會允許任何來源存取。
  • 對於反射來源(r.Header.Get("Origin"))搭配 Access-Control-Allow-Credentials為true的設置則更加危險,可能被攻擊網站利用。
  • Model中會定義類別如 AllowCredentialsHeaderWrite 來匹配特定header write行為,並建立規則查詢包含非安全的 Allow-OriginAllow-Credentials設置。
  • 建模Web框架(例如Gin、Django等)的CORS middleware,模擬其設置結構和方法,以便在CodeQL中自動偵測潛在風險。
  • 建立針對兩類CORS漏洞的專屬查詢(無認證跨域與有認證跨域),利用模型追蹤Header設定和配置變數的變更狀況,協助辨識錯誤配置。
  • 案例中說明,簡單將headers設在HTTP回應中,容易被偵測,但若並未檢查Origin或Credentials的設定,則可能存在嚴重漏洞。

我的看法:

  • 模型化Web框架header設置是一個強大且彈性高的安全分析方法,可用於自訂多種框架。
  • 使用CodeQL能有效識別錯誤配置,降低CORS安全問題,值得開發者在安全審查中加入此技術。

Tags: [CORS, StaticAnalysis, CodeQL, WebSecurity, WebFrameworks]