无论如何,是否有可以在EventHandler中触发JavaScript的文本输入



我最近一直在研究XSS,我发现了一个案例。HTML代码如下

<input type="text" name="s" id="s" value="foo" onblur="this.value"  x-webkit-speech/>

所以我想知道我是否可以输入诸如 alert(1)之类的东西使onblur处理程序触发javascript .. 是否可能?

是。在JavaScript中,"此"是指当前元素。由于输入onblur事件引用了元素的值,因此输入将运行您放入的任何内容。但是,除非可以通过URL反映这一点,否则这将是没有用的。

所以我想知道我是否可以输入诸如警报(1(之类的东西来制作Onblur 处理程序触发JavaScript ..是否可能?

否是不可能的,您需要评估输入框中输入的代码以执行它,因为它被视为字符串而不是代码。

您将需要执行以下操作,您永远不需要或想做。

<input type="text" name="s" id="s" value="alert('foo')" onblur="eval(this.value)" x-webkit-speech autofocus/>

最新更新