跟进my last question ...

如果攻击者可以访问encodedText,则可以利用此代码:

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

例如$("<div/>").html('<img src="X" onerror="alert(\'hi\');" />').text()显示警报。

This answer建议改用textarea以避免XSS漏洞:
return $('<textarea/>').html(encodedText).text();

这样就可以安全地处理以前的攻击。

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





我的问题是:在任何浏览器中,如果攻击者可以访问$('<textarea/>').html(encodedText);,有没有办法利用encodedText运行XSS?

最佳答案

老实说,我不会冒险,如果您处理需要加密或未加密的服务器端内容,那将更加安全。

09-11 00:19