什么可能导致这种安全问题?

时间:2010-11-05 15:29:29

标签: security

我刚刚浏览了一些安全博客,我发现了这个主要金融实体的形象,我不确定是什么原因导致这种错误出现在面向客户的页面上以及如何修复它以便我们这样做系统中没有任何潜在的安全环洞?

alt text

1 个答案:

答案 0 :(得分:1)

在不支持XHTML的浏览器中使用CDATA看起来是一个非常封闭的解决方法。

例如,这在HTML中很好:

<script type="text/javascript">
   if (1 > 0) {
   }
</script>

但是,由于>,这在XHTML中不起作用。为此,您必须使用CDATA来逃避脚本本身,如下所示:

<script type="text/javascript">
//<![CDATA[
   if (1 > 0) {
   }
//]]>
</script>

这里,CDATA在脚本中,但就脚本而言是一个注释。

有些浏览器似乎不喜欢HTML中的CDATA,因此有些人会使用诀窍双重转义CDATA并使用XML注释:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
   if (1 > 0) {
   }
//--><!]]>
</script>

看起来你的问题来自于这些双重逃脱技巧之一被严重关闭。 (//--><!]]>可能必须在同一条线上。)

我不确定这是否属于安全问题;它取决于其他不正确显示/转换的内容(这可能来自服务器端的XSLT或类似内容)。