[研究]Fortify SCA 對「ASP.NET Web 應用程式 (.NET Framework)」的「WebForm」「個別使用者帳戶」微軟官方專案範本官方範例掃描結果
2021-07-09
2021-08-15更新
Click圖片可看100%原尺寸
********************************************************************************
Cross-Site Scripting: DOM根據這篇
[研究] Microsoft.AspNet.ScriptManager.MSAjax 與 Microsoft.AspNet.ScriptManager.WebForms 安裝
Microsoft.AspNet.ScriptManager.WebForms 套件會安裝
\Scripts\WebForms\Menu.js
\Scripts\WebForms\SmartNav.js
********************************************************************************
Insecure Transport: Database
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB; AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20210709074550.mdf; Initial Catalog=aspnet-WebApplication1-20210709074550;Integrated Security=True" providerName="System.Data.SqlClient" /> |
詳見這篇
[研究][ASP.NET] Fortify SCA 報告 Web.Config 資料庫連線字串設定有 Insecure Transport: Database 問題
保護連接字串與其他設定資訊 (C#)
使用「 ASP.NET IIS 註冊工具 (aspnet_regiis.exe) 」 對 Web.Config 中 <connectionStrings> 中資訊加密。
********************************************************************************
Open RedirectResponse.Redirect("/Account/VerifyPhoneNumber?PhoneNumber=" + HttpUtility.UrlEncode(PhoneNumber.Text)); |
********************************************************************************
Open Redirect參考這篇,可改用 Server.Transfer 代替 response.Redirect
[研究][ASP.NET]Fortify SCA 報告Open Redirect
********************************************************************************
Open Redirect這是 \Account\Login.aspx 的內容
Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}", Request.QueryString["ReturnUrl"], RememberMe.Checked), true); |
********************************************************************************
Cross-Site Scripting: DOM根據這篇
[研究] Microsoft.AspNet.ScriptManager.MSAjax 與 Microsoft.AspNet.ScriptManager.WebForms 安裝
Microsoft.AspNet.ScriptManager.WebForms 套件會安裝
\Scripts\WebForms\Menu.js
\Scripts\WebForms\SmartNav.js
檔案為 /Scripts/WebForms/MSAjax/SmartNav.js
http://ajax.aspnetcdn.com/ajax/4.5.1/1/SmartNav.js
document.location.href=fdurl; |
********************************************************************************
Fortify SCA ( Fortify Static Code Analyzer ) 是 白箱測試工具 ( 源碼檢測、原始碼安全檢測、原始碼檢測),白箱測試無法保證 100% 正確,有可能誤判。
修改3rd Party套件要考慮一個問題,套件更新後又會被覆蓋回去。Menu.js 和 MSmartNav.js 都是Microsoft.AspNet.ScriptManager.WebForms 套件的,真有安全問題,微軟 Microsoft 應該早已經處理。
********************************************************************************
2021-08-15
為了避免 Fortify SCA 報 Menu.js 和 SmartNav.js,把 Microsoft.AspNet.ScriptManager.WebForms 套件移除會怎樣 ?
執行會出錯
'/' 應用程式中發生伺服器錯誤。
'WebFormsBundle' 不是有效的指令碼名稱。名稱必須以 '.js' 結尾。
把 Site.Master 中這行註解掉
<asp:ScriptReference Name="WebFormsBundle" />
改為
<%--<asp:ScriptReference Name="WebFormsBundle" />--%>
執行似乎也正常。
(完)
沒有留言:
張貼留言