texata中的javascript xss

时间:2011-08-14 07:46:55

标签: php javascript xss

我有一个跨度,我在里面有这个文字:

/><textarea>

然后我尝试通过用textarea替换其中的内容并在其文本中添加来编辑span的文本。

然后,当我尝试取消编辑并删除textarea然后将数据返回到跨度时,会出现:

/&GT;和附近的文本区。

这是错误的。

我正试图避免因xss攻击而导致此类事情。

如果我尝试在span中添加此代码:

';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//--></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>

测试xss是否正常工作...我不会收到任何错误,因为我在刷新页面时使用了htmlentities ...

所以我使用点击按钮,textarea出现在里面...这里很好但是当我取消它所以我可以看到消息回来,因为它在跨度内... XSS警报弹出... < / p>

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:0)

只需使用文本节点。 (document.createTextNode(text here)创建它,然后appendChild就像任何其他节点一样)

答案 1 :(得分:0)

我只需要替换html(),然后使用text()填充带有文本的范围。