[英]Cross Site Scripting: DOM Fortify
目前正在為我的一個應用程序代碼解決 DOM XSS 問題,它正在為 winT 報告 XSS(下面提供了偽代碼)。
代碼片段:
Var oMyObj = window.dialogArg;
var winT = oMyObj.title;
<span id="header">
<script>
document.write(winT);
</script>
</span>
我已經嘗試了幾種方法來查看是否有幫助,但到目前為止仍在嘗試......我想在這里請求查看是否有任何選項或方法有助於修復強化 XSS。
我們正在發送 static 信息以在上述情況下打印為頁面/對話框標題和應用程序是防火牆后面的內部/Intranet 應用程序.. 但想看看它是否可以解決
在搜索和閱讀與 XSS 相關的文章后,嘗試了以下操作:
document.getElementsbyId("header").textContent = winT
嘗試了 innerHTML 而不是 document.write 並打印但沒有糾正 Fortify - 后來意識到 innerHTML 也有 XSS
嘗試了 htmlencoder 如下所示 - fortify 仍然將其報告為問題。 https://portswigger.net/web-security/cross-site-scripting/preventing
function htmlEncode(str){
return String(str).replace(/[^\w. ]/gi, function(c){
return '&#'+c.charCodeAt(0)+';';
});
}
也許我缺乏完全理解導致 XSS 發生的原因,這進一步導致無法找到上述問題的正確解決方案。
如果您能提供一些洞察力或正確方向的指導,將會有所幫助。 謝謝。
我已經使用 ESAPI 解決了上述問題
示例片段:
var reportName = "<%= ESAPI.encoder().encodeForJavaScript(reportName)%>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.