2010-11-05 42 views
-1

我剛剛通過一些安全博客,發現了一個主要金融實體的形象,我不確定可能導致這種錯誤出現在面向客戶的頁面上,以及如何解決這個錯誤,以便我們不會系統中有沒有潛在的安全漏洞?什麼會導致這種安全問題?

alt text

+1

它看起來像一些JS腳本的結束,它縮小到...呃,任何使用JS的東西? – 2010-11-05 15:33:55

+0

從你所說的話,它可能沒有比錯字更糟糕。可能有些東西雖然不能正確轉義。 – Flexo 2010-11-05 15:34:27

+0

這怎麼可能是一個安全問題... – rook 2010-11-05 17:07:43

回答

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,所以有些人用一招,在此之上使用XML註釋仔細逃脫CDATA:

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

它看起來像你的問題就來了從這些雙重逃脫技巧之一被嚴重關閉。 (//--><!]]>可能必須位於同一行)。

我不確定這是否是一個安全問題;它將取決於還有哪些不正確顯示/轉換(這可能來自服務器端XSLT或類似)。

相關問題