我有以下的HTML頁面.cshtml它:HTML屬性編碼
<div class="content rowBody">
<span class="rowText" title="@description">
@description
</span>
</div>
如果@description的值是:<img src=x onerror=alert(/XSS/.source)>
我看到它顯示就這樣在標題屬性並因此執行,而span標籤之間的標籤似乎是編碼的,並且不會觸發警報框。
我的假設是Razor引擎視圖試圖編碼任何以@開頭的東西。這不適用於HTML屬性嗎?
生成的源:
<div style="margin-left: 31px;" class="content rowBody unselectable" unselectable="on">
<span class="rowText unselectable" title="<img src=x onerror=alert(/XSS/.source)>" unselectable="on">
<img src=x onerror=alert(/XSS/.source)>
</span>
</div>
請向我們展示生成的源代碼。這不應該發生。 – SLaks 2012-07-06 18:53:53
這確實看起來不正確。儘管如此,我有點不知所措。剃刀應該對兩種情況進行相同的編碼。我會嘗試獲得repro時,我可以。如果你可以縮小一個相當簡單的樣本,請將它發送給Microsoft microsoft DOT com,我會仔細研究它。不管您是否可以縮小樣本,請不要猶豫與我聯繫。 – 2012-07-07 01:37:15