反正有没有在文本输入的eventhandler中触发javascript

问题描述 投票:-2回答:2

我最近一直在研究XSS,我发现了一个案例.html代码是这样的

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

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

javascript html xss
2个回答
0
投票

是。在javascript中,“this”指的是当前元素。由于输入onblur事件引用了元素的值,因此输入将运行您放入其中的任何内容。但是,除非可以通过URL反映出来,否则这将毫无用处。


0
投票

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

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

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

<input type="text" name="s" id="s" value="alert('foo')" onblur="eval(this.value)" x-webkit-speech autofocus/>
© www.soinside.com 2019 - 2024. All rights reserved.