StorM Lance
用於漏洞審查和請求防護的網頁安全模型。每項發現均列出位置、風險、修復建議和複查結果。
日誌
- 版本
- Protection 1.8.0
檢查範圍
- 程式碼
- 讀取JavaScript、TypeScript、Python和HTML程式碼以查找弱點。Python資料追蹤限於單個文件內。提交的程式碼只讀取,不執行。
- 依賴項
- 將九種軟體包生態的鎖定文件中精確固定的版本與公開安全通告進行比對,不執行軟體包指令碼。未精確固定的版本會標記為未經檢查。
- 運作中的網站
- 僅在授權範圍內檢查運作中的網站:指定準確網址、授權在一天內到期、固定請求上限,且不跟隨重新導向。
- 隔離測試環境
- 實驗室攻擊案例在我們啟動的測試伺服器上運行。對運作中網站的受保護路徑,也會進行不帶正文的請求方法檢查。只有明確聲明並授權的變更才會發送攜帶資料的請求。
- 複查
- 修復後可重新檢查運作中的網站,並與最多保留一小時的先前檢查結果進行比較。
- 防護層
- 運行StorM Web Engine的伺服器在網站接收請求前檢查每個請求的網址和請求標頭。回應包含固定的一組安全回應標頭。
- 頁腳標記
- 網站頁腳的StorM Lance標記表示網站位於防護層之後,或在發布前已由StorM Lance檢查。
弱點類型
每種類型均附有公開CWE目錄中的對應條目。
- SQL注入
- 輸入被當作程式碼進入資料庫查詢。CWE-89
- 命令注入
- 輸入進入系統命令。CWE-78
- 模板注入
- 輸入被當作模板而不是資料處理。CWE-1336
- HTML與指令碼注入
- 輸入未經轉義就寫入頁面,導致訪客瀏覽器執行該內容。CWE-79
- 伺服器端請求偽造
- 使伺服器訪問攻擊者指定的網址,包括內部地址。CWE-918
- 開放重新導向
- 根據參數值將訪客發送到任意目的地的連結。CWE-601
- 不安全的反序列化
- 將不可信的資料重建為可用物件。CWE-502
- 原型污染
- 輸入改變JavaScript程序中所有物件的繼承內容。CWE-1321
- 回應標頭注入
- 輸入被寫入回應標頭。CWE-113
- 薄弱的加密與隨機性
- 過時的演算法和可預測的權杖。CWE-327 · CWE-338
- 不安全的程式碼求值
- 將文字作為程式碼執行,以及標記中的內聯事件處理器。CWE-95 · CWE-79
- 規則運算式阻斷服務(ReDoS)
- 將請求值用作規則運算式,可能導致長時間運行。CWE-1333
- 未限定訊息目標
- 視窗間的訊息可發送到任意目標。CWE-345
審查流程
範圍
由您指定檢查內容和可訪問的網址,發送任何請求前先核驗範圍。
讀取
讀取程式碼,查找上述弱點。
候選發現
通過讀取程式碼得到的發現會標記為候選,而非已證實的攻擊。在運作中的網站上,只有明確聲明並授權的變更才會發送攜帶資料的請求。
報告
每項發現均列明位置、弱點和修復建議。
複查
重新檢查運作中的網站,並與上一次結果比較。
發現示例
- 發現
- 搜尋結果將查詢內容未經轉義寫回頁面。
- 位置
- 搜尋頁面的q參數。
- 影響
- 特制連結可使訪客瀏覽器執行發送者指定的指令碼。
- 修復
- 寫入頁面前,對該值進行HTML編碼。
- 複查
- 同一連結不再返回未經轉義的標記,問題已關閉。
僅為說明示例,並非客戶檢查結果。
防護層
運行StorM Web Engine的伺服器在網站前設定防護層,先檢查每個請求的網址和請求標頭。看似攻擊的請求會被拒絕,可疑頁面請求可能需要完成簡短的瀏覽器驗證,持續攻擊的地址會被暫時封鎖。
回應包含固定的一組安全回應標頭,用於阻止其他網站嵌入頁面、保持HTTPS連接、限制其他網站可見的來源資訊,並拒絕相機、麥克風和位置訪問。
| 請求 | 結果 |
|---|---|
GET /products?id=1' OR '1'='1 | 已阻止 · SQL注入 |
GET /search?q=<script>alert(1)</script> | 已阻止 · 指令碼注入(XSS) |
GET /download?file=../../../../etc/passwd | 已阻止 · 路徑遍历 |
GET /ping?host=8.8.8.8;id | 已阻止 · 命令注入 |
GET /fetch?url=http://169.254.169.254/latest/meta-data/ | 已阻止 · 伺服器端請求偽造 |
GET /search?q=chef's knife | 已允許 |
GET /search?q=select a lens for portraits | 已允許 |
GET /events?utm_source=newsletter&utm_medium=email | 已允許 |
常見問題
- 需要我們提供什麼?
- 需要程式碼或運作中網站的網址,以及有權授權測試的人員資訊。檢查運作中的網站前先核驗範圍:準確網址、在一天內到期的授權,以及固定請求上限。
- 會攻擊我們運作中的網站嗎?
- 僅在授權範圍和固定請求上限內進行,且不跟隨重新導向。只有明確聲明並授權的變更才會發送攜帶資料的請求,其他攻擊場景僅在隔離測試環境中運行。
- 支援讀取哪些語言和文件?
- JavaScript、TypeScript、Python和HTML。Python資料追蹤限於單個文件內。
- 會修改我們的程式碼嗎?
- 不會。每項發現均附有位置、弱點和修復建議,修復後可重新檢查。
安全審查
如需檢查網頁軟體,可向我們說明所運行的軟體和關注的風險。