前言
系統從 QueryString 取得加密過的檔案名稱,透過解密後,
要加入到 Response.Headers 裡時,
被 Checkmarx 掃出有 HTTP_Response_Splitting 的風險。
那怎麼辦呢?
解法
依 Checkmarx 提供的做法如下,
1 | public void foo(HttpRequest Request, HttpResponse Response) |
依範例調整如下,
1 | Dim strFileName As String = Request.QueryString("FileName") |
還是會被掃出 HTTP_Response_Splitting 的風險。
這時,可以再加上 UrlEncode 如下,
1 | Dim strFileName As String = Request.QueryString("FileName") |