2025年7月11日 星期五

[研究]ASP.NET WebForm 網站 HCL AppScan 10.18.0 報告【低】【Apache Tomcat 無效字元路徑洩露】弱點,如何處理?

[研究]ASP.NET WebForm 網站 HCL AppScan 10.18.0 報告【低】【Apache Tomcat 無效字元路徑洩露】弱點,如何處理?

2025-07-11

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 20

********************************************************************************

[研究]ASP.NET WebForm 網站 HCL AppScan 10.18.0 報告【低】【Apache Tomcat 無效字元路徑洩露】弱點,如何處理? 這台電腦沒有安裝 Apache Tomcat 啊 ? 這是 bootstrap 弱點?但 NuGet 已經把 bootstrap 升級到最新版了

********************************************************************************
ChatGPT 說:

AppScan 的這個檢測報告並非真的「發現了 Apache Tomcat」這個元件,而是根據「HTTP 回應行為異常」來猜測可能是 Tomcat 所致,例如:

  • 請求 URL 帶有無效字元,例如 /<無效字元>/noSuchFile.jsp 時,伺服器沒有回傳標準的 404 Not Found,而是:
    • 回傳 200
    • 回傳錯誤頁包含特定樣式/特徵(如 .jsp、stack trace 或 Tomcat 頁面結構)

👉 這種情形會讓掃描器誤認為你用的是 Apache Tomcat,實際上可能是:

  • 自訂錯誤頁(例如 noSuchFile.jsp 被硬寫在某段 HTML 中)
  • 你的網站 HTML 中引用了不存在的資源(如報告中提到 /R3E/noSuchFile.jsp)

敝人註:HCL AppScan 誤判了,這不是 Apache Tomcat

✅ 驗證方式與排查方向:

1.確認 noSuchFile.jsp 是否為真實檔案或路徑:

  • 搜尋你的 ASP.NET 專案是否有 /R3E/noSuchFile.jsp 這個資源
  • 如果是硬編寫在 HTML 內部,AppScan 掃描時就會「跟著去請求這個 .jsp」,造成誤報
敝人註:整台電腦搜過了,沒有 noSuchFile.jsp 檔案;
敝人註:整台原始碼搜過了,沒有 noSuchFile.jsp 檔案;
敝人註:https://網域/Scripts/bootstrap.min.js 是存在的
敝人註:https://網域/Scripts//R3E/noSuchFile.jsp 是不存在的
敝人註:https://網域/R3E/noSuchFile.jsp 是不存在的,會出現 HTTP 錯誤 404.0 - Not Found


所以 HCL AppScan 是抓到 404.0 畫面的資料,因為這是開發機的測試站,這根本不是弱點。

2.確認伺服器是否回應異常狀態碼:

  • 開發者工具(Chrome F12 → Network)直接請求一個無效 URL,如:
    https://your-site/R3E/noSuchFile.jsp
  • 看是否回傳 404,還是意外回傳 200 OK 或頁面內容類似 Tomcat 的錯誤頁

3.檢查是否有類似錯誤頁(Error Page)或 Handler 配置誤導掃描器:

  • 可能你有使用如:<customErrors mode="On" defaultRedirect="~/noSuchFile.jsp" />
  • 或全站錯誤轉向 .jsp 檔案,導致誤報


🛠 解法建議:

解法說明
✅ 移除或修正 .jsp 錯誤連結將頁面中 /R3E/noSuchFile.jsp 改為有效路徑或直接移除。這應該是報告來源。
✅ 修改錯誤處理邏輯若你有自訂錯誤頁,請確認不要導向 .jsp,避免誤導掃描器。建議導向 .aspx 或 .html
✅ 檢查 IIS 錯誤頁回應是否一致確保回傳 404 時內容乾淨、不包含 .jsp、Tomcat 相關語句
✅ 升級 AppScan 或回報誤報AppScan 有時會誤判,可以在報告內標示為「False Positive」回報給 HCL 技術支援或註記為誤報

📌 結論

你這個情況非常可能是因為頁面中出現了錯誤的 .jsp 連結(例如 /R3E/noSuchFile.jsp),導致 AppScan 進行掃描時誤認為後端是 Apache Tomcat,並報告「無效字元路徑洩露」。

✔ 解法是:修正頁面上的錯誤連結、確認無導向 .jsp 的錯誤頁,通常即可清除此報告。

如需協助找出是哪一頁含有 .jsp 連結,可告訴我你整站是否是 ASPX 結構,我可提供搜尋方式(如 PowerShell、grep、Visual Studio 搜尋等)。

(完)

相關


沒有留言:

張貼留言