对于XSS保护,在填充编辑之前是否需要转义

时间:2011-06-02 02:06:36

标签: php security forms xss

我有一个我正在测试的受感染文本。

在显示模式下,我从数据库中获取数据并将其显示在页面上,然后按预期获得XSS。

在编辑模式下,我使用与初始条目相同的表单,并将数据库中的值填充到输入字段(本例中为textarea),但我没有得到XSS。这是正常的吗?表单字段数据是否对XSS不敏感,因为文本显示在表单字段中?所以我不需要在正常显示中使用XSS保护吗?

顺便说一下,我正在测试的特定XSS就是这个。我是从hackers上的XSS备忘单得到的,这是第一个。

';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>

2 个答案:

答案 0 :(得分:2)

不,XSS的表单字段 可以使用,因此您也需要将它们转义

模板样本:

<input type="text" name="foo" value="{$value}" />

价值样本:

" /><script>alert(123);</script><input attr="

结果:

<input type="text" name="foo" value="" /><script>alert(42);</script><input attr="" />

答案 1 :(得分:2)

一个例子。

</TEXTAREA><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>