XSS 和 Applet/Param HTML 关键字
我有一个 Web 应用程序,并对其运行了 XSS 扫描,它报告说我的一个包含 Java 小程序的页面可能会受到 XSS 的攻击。
该测试设法将 javascript 警报框分配给以下 HTML 代码:
<param name='id' value='' onMouseOver=alert(40041)>
我的问题是 - 这是一个有效的测试吗?对 Param 对象进行任何 XSS javascript 操作会导致任何现实问题吗?我认为 param 对象上的 MouseOver 不会执行任何操作。
谢谢
I have a Web application and have run a XSS scan on it and it reports that one of my pages that has a Java applet in it could potentially be open to XSS.
The test managed to assign a javascript alert box to the following HTML code:
<param name='id' value='' onMouseOver=alert(40041)>
My question is - Is this a valid test? Will doing any XSS javascript manipulation on Param objects cause any real world issue? I don't think a MouseOver on a param object will do anything.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个有效的测试,但可能是一个严重的漏洞。
如果
value
的内容没有被转义,那么攻击者就可以关闭标签并添加任何其他脚本。即使
<>
被转义/删除,但引号没有被转义/删除,它仍然可能被利用:攻击者可以附加诸如onload
和onerror< 之类的事件处理程序/代码>。在现代浏览器中,每个元素都可以变得可见(例如,甚至
),因此
style
也可以使悬停。
防范这样的 XSS 非常简单。生成属性时始终使用引号并在值更改中:
&
更改为&
<
更改为<
、'
到&x39;
"
到"
。你赢了不必担心被劫持的
会发生什么不好的事情。
This is a valid test and it may be a serious vulnerability.
If contents of
value
was not escaped then the attacker could close the tag and add any other script.Even if
<>
are escaped/stripped, but quotes aren't, it may still be exploitable: attacker could attach event handlers likeonload
andonerror
. In modern browsers every element can be made visible (e.g. even<head>
), sostyle
could make<param>
hoverable too.It's quite simple to protect against XSS like this. When generating attributes always use quotes and in the value change:
&
to&
<
to<
,'
to&x39;
"
to"
.and you won't have to worry what bad things could happen with hijacked
<param>
.