2016-08-22 49 views
0

我目前测试了我的应用程序对XSS,并想知道是否可以利用下面的例子。XSS-攻击:当输入值被设置时是否可以执行JS?

这是我做的:我从服务器获得一个非转义响应,并将其直接设置为输入值。

我知道我应该在服务器上逃脱,但我很好奇,如果这可能被利用。

我已经来到这么远,产生一个语法错误,但无法执行该脚本...

document.getElementById('test').value = '"/><script>alert(1);</script>';
<input id="test" type="text"/>

你可以改变这个例子中,虽然该alert(1);实际执行?

感谢您的帮助。我很好奇:-)

回答

1

将任何值分配给输入值都不会使其执行。只有分配给像onerror,onmouseover,onfocus等事件处理程序才会执行。

我猜的语法错误是因为</script>打破了你的脚本标记,因此你留下了无效的JavaScript。非常类似于我在这里描述的:http://erlend.oftedal.no/blog/?blogid=91

+0

谢谢。所以不管我插入什么模糊或模糊的字符串,它永远不会执行?真的完全没有办法绕过这个? –

+0

设置value属性应该是安全操作,无论内容如何。如果你发现任何东西,那就意味着你发现了一个浏览器错误,而不是应用程序中的错误。 – Erlend

+0

太好了。谢谢你的帮助。 –