XSS和Applet / Param HTML关键字

时间:2009-11-02 11:52:25

标签: java html applet xss

我有一个Web应用程序,并在其上运行XSS扫描,并报告我的一个页面中有一个Java小程序可能对XSS开放。

测试设法将javascript警告框分配给以下HTML代码:

<param name='id' value='' onMouseOver=alert(40041)>

我的问题是 - 这是一个有效的测试吗?将对Param对象进行任何XSS javascript操作会导致任何现实问题吗?我不认为param对象上的MouseOver会做任何事情。

由于

1 个答案:

答案 0 :(得分:1)

这是一项有效的测试,可能是一个严重的漏洞。

如果value的内容未被转义,则攻击者可以关闭该标记并添加任何其他脚本。

即使<>被转义/剥离,但报价却没有,但它仍然可以被利用:攻击者可以附加onloadonerror等事件处理程序。在现代浏览器中,每个元素都可以显示(例如偶数<head>),因此style也可以使<param>可以恢复。

像这样保护XSS非常简单。生成属性时始终使用引号并在值更改中:

  • &&amp;
  • <&lt;
  • '&x39;
  • "&quot;

你不必担心劫持<param>会发生什么不好的事情。