【问题标题】:DOM XSS issue with ajax return value in jqueryjquery中ajax返回值的DOM XSS问题
【发布时间】:2017-09-25 00:57:53
【问题描述】:

我在下面的代码中遇到 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>"

【问题讨论】:

  • 你的后端语言是什么?
  • 它是 C#,它在 ajax 成功时将部分视图(HTML 代码)作为“数据”返回。
  • 也粘贴你的服务器端代码。
  • @AtaurRahmanMunna 用来自服务器端的结果更新了我的问题。
  • 这可能对你有帮助:stackoverflow.com/questions/7024419/…

标签: javascript jquery xss


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2014-05-07
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多