利用jquery html编码XSS

roo*_*oo2 4 javascript security xss jquery

在阅读了这个问题之后,用户警告说这种编码html的方法是不安全的

    return $('<div/>').html(encodedText).text();
Run Code Online (Sandbox Code Playgroud)

"不要使用jQuery.html().text()来解码html实体,因为它不安全,因为用户输入永远不能访问DOM"

"我建议使用更安全,更优化的功能"

此方法的目的是获取编码输入,即Fish &amp; chips产生未编码的输出,即Fish & Chips

据我了解,他们声称,对于某些价值encodedText,可以执行javascript.我试图重现此设置encodedText<script>alert(1)</script>和其他一些简单的攻击,是无法找到的XSS漏洞的任何迹象.

我的问题是:使用时,任何浏览器中是否存在任何可证明的xss漏洞 $('<div/>').html(encodedText).text()

epa*_*llo 7

有很多方法可以做到这一点,这是带有图像标签的一种方式.

var x = $("<div/>").html('<img src="X" onerror="alert(\'hi\');" />').text();
console.log(x);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)