iT邦幫忙

0

ASP.net 只是匯出Excel 但檢測出XSS風險

  • 分享至 

  • xImage

請問 只是匯出Excel 真的會有被攻擊的風險嗎?
可以不做修改嗎?
因為調整後匯出資料,有些符號都會被替換掉,但我不知道以後資料中還會出現哪些符號(例如人家的品項有寫大小 6x6 x就會被換成&#215),且調整下去如果是顯示百分比,原本100%都會變成顯示1.00000~~~~等等的。
https://ithelp.ithome.com.tw/upload/images/20211115/201432309sbGNaiSOz.jpg
https://ithelp.ithome.com.tw/upload/images/20211115/20143230P0Z4hXYmF4.jpg
https://ithelp.ithome.com.tw/upload/images/20211115/20143230sjH3tCg4f3.jpg

不好意思 忘記說我使用的編碼函數為: System.Web.HttpUtility.HtmlEncode()

Homura iT邦高手 1 級 ‧ 2021-11-15 14:51:43 檢舉
怎麼不貼出警告訊息和被檢測到的程式碼...
貼了 不好意思
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
kawa0710
iT邦新手 2 級 ‧ 2021-11-16 09:22:52

試試看對資料用HTML編碼:
寫入資料DB時用
HttpUtility.HtmlEncode()
顯示資料時用
HttpUtility.HtmlDecode()

參考微軟HttpUtility.HtmlDecode 方法

用了編碼後 資料出來就會有問題

1
Samuel
iT邦好手 1 級 ‧ 2021-11-16 13:10:23

Hi "只是匯出Excel 真的會有被攻擊的風險嗎?"
他的潛在風險訊息是Stored XSS種類
所以問題點在於

他已經先
以你目前應用程式存取的DB當中已經有存入具有風險的任一script(JavaScript)為前提來判定了
所以要處理的是在於承接資料那端比方DataSet或DataTable

如果真覺得是誤判也可以把這類的取消掉的樣子

請問 如果不是改承接資料的那端 只都改他輸出的地方也是可以嗎? 因為我都只改輸出的地方 不知道再去掃一次弱掃會不會過

Samuel iT邦好手 1 級 ‧ 2022-01-10 16:29:45 檢舉

不然可以嘗試將匯出excel共用功能寫成Class Library
然後採用dll添加進專案調用方式避免被checkmarx掃到

我要發表回答

立即登入回答