利用textarea利用jQuery HTML解码

时间:2015-07-08 06:12:43

标签: javascript jquery security xss

跟进my last question ...

如果攻击者有权访问encodedText

,则可以利用此代码
return $('<div/>').html(encodedText).text();

e.g。 $("<div/>").html('<img src="X" onerror="alert(\'hi\');" />').text()会显示提醒。

This answer建议使用textarea来避免XSS漏洞:

return $('<textarea/>').html(encodedText).text();

这能够安全地处理以前的漏洞利用。

但是,this answer表示使用textarea时仍存在XSS漏洞:

  

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

  

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

我的问题是:假设攻击者可以访问$('<textarea/>').html(encodedText);,是否有任何浏览器可以利用encodedText来运行XSS?

1 个答案:

答案 0 :(得分:0)

我不冒风险是诚实的,如果您处理任何需要加密或未加密的服务器端,那将会更安全。