前言
系統被 Checkmarx 掃出有 Client_Heuristic_Poor_XSS_Validation 的 問題要怎麼解呢?
Checkmarx 說 Client 端的 Poor_XSS_Validation 表示在 JavaScript 處理 DOM base XSS 時,
使用了不夠完整的過濾 Method,例如,escape, encodeURI 等等…
修正
以下為修改前的 JavaScript
1 | var x = escape(window.location.search); |
主要從 window.location.search 取得資料,但只是透過簡單的 escape 過濾。
可以改用 DOMPurify 的 sanitize Method,如下,
1 | var x = DOMPurify.sanitize(window.location.search); |