iT邦幫忙

0

[源碼檢測] Stored XSS 問題 ( ASP.NET WebForm c# )

  • 分享至 

  • xImage

各位大神們好:

公司最近將舊的專案送去給品保源碼檢測,結果出現滿多 Stored XSS 的問題(如下圖)。

https://ithelp.ithome.com.tw/upload/images/20220317/201199257PcSgWszTP.jpg

是要對資料進行匯出Excel的寫法(使用NPOI),被檢測出有問題,程式碼如下。

        Response.BinaryWrite(ms.ToArray());

有使用下面寫法嘗試將byte[]進行 Encode ,結果重新檢測一樣沒過XD

 byte[] msarray = ms.ToArray();
        for (int i = 0; i < msarray.Length; i++)
        {
            msarray[i] = byte.Parse(Server.HtmlEncode(msarray[i].ToString()));
        }
        Response.BinaryWrite(msarray);

不曉得各位大神們,有什麼其他寫法可以對byte[]進行Encode,
或有其他解法可以通過這個源碼檢測的Stored XSS問題呢?

感謝

froce iT邦大師 1 級 ‧ 2022-03-18 12:54:45 檢舉
你該做的是對你的輸入進行篩選,將不能開放的html attr和tag過濾掉。
並且把你資料庫內儲存的html都拿出來過一遍再存回去。

python 有 這個
https://github.com/mozilla/bleach

C#我不清楚。

另外這邊的encode是要你對html的tag去做HtmlEncode
https://docs.microsoft.com/zh-tw/dotnet/api/system.web.httputility.htmlencode?view=net-6.0

會把<轉成&lt;
leoroy iT邦新手 5 級 ‧ 2022-11-18 09:51:30 檢舉
請問您後來怎麼解決這個問題呢?我最近也遇到相同的狀況困擾著,謝謝~
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答