javascript - jquery中ajax返回值的DOM XSS问题

标签 javascript jquery xss

我遇到了以下代码的 DOM XSS 问题,在 ajax 成功时,我将数据作为返回值传递给我的一个 div,并且此代码正在创建 DOM XSS。

谁能帮我解决这个问题。 返回值以 HTML 数据的形式出现,我需要将其分配给 DIV。

$.ajax({
    url: 'API/MyDemoURL',
    type: 'POST',
    data: { id: 1},
    cache: false,
    success: function (data) {
        $("#div1").html(data);
    }
});

我尝试使用 Escape HTML 或编码 HTML,但它用代码替换标签并将其分配给 div 并将其打印为字符串。

来自服务器端的数据:-

"<table><tr><td>hello World!!</td></tr></table>"

最佳答案

HTML 由服务器端的 C# 代码生成。因此,为了修复 XSS 漏洞,您必须在生成 HTML 时在 C# 代码中正确编码数据。该错误存在于您的 C# 代码中,而不是您的 JS 代码中。

关于javascript - jquery中ajax返回值的DOM XSS问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43654248/

相关文章:

javascript - 如何在 Vue.js 中实现基于 session cookie 的身份验证?

javascript - 如何调用模板中导入的函数?

javascript - 带有下拉菜单的选项卡 Angular ui

javascript - AJAX 请求、表单提交中出现解析器错误

javascript - 从 Javascript 更改 CSS 规则集

javascript - 同一页面中的 AngularJS、D3 和 JQuery。 D3 无法读取正确的 DOM 维度

php mysql jquery javascript 聊天

iframe - 将 iframe 设置为远程内容的高度

php - 是否有明确的 PHP 反 XSS 库?

javascript - 通过 location.replace 替换哈希被认为有害吗?