經過checkmarx掃描我的代碼後,我收到以下消息。如何防止JavaScript中的客戶端DOM XSS漏洞?
方法在... \ action \ searchFun.js的第23行執行,獲取表單元素的用戶輸入。
然後,此元素的值將在代碼中流動,而不會被正確清理或驗證,並最終會顯示給位於../action/searchFun.js第28行的用戶。這可能會導致DOM XSS攻擊。
有些人可以幫助我如何清理上述情況以滿足Checkmarx? 腳本如下:
function searchAnnouncements(){
$('#loadingAnnouncements').html('Loading...');
var formData = $('form').serialize();
jQuery.ajax({
type: "post",
url: "bat.ajax",
data: formData,
cache: false,
dataType: "json",
cache: false,
success: function(json) {
$('div.block').unblock();
$('#loadingAnnouncements').html('');
if (json.resultSize > 0)
$('#searchResults').html(json.searchResult);
});
},
}
那麼它是在抱怨html行?祝你好運...如果你從服務器返回html並顯示它,這可能是一個問題。只有這樣才能避免發送HTML並解析JSON並構建DOM。或者你可以找到一些XSS卸妝腳本,但可能會錯過任何東西。或者你可以忽略警告並享受咖啡。 – epascarello