首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

資料庫下載漏洞攻擊技術大揭秘:從副檔名偽裝到暴庫實戰

     編輯:MySQL 資料庫相關知識

前言

ASP/ASP.NET 早期網站常將 Access 資料庫 (.mdb) 放在 Web 目錄下,為防直接下載,管理員嘗試改副檔名 (.asp、.asa)、加 # 號、設定密碼。但攻擊手法層出不窮,本文揭示繞過這些防禦的實戰技術,以利防守方加強防護。

技術一:強制下載 .asp/.asa 副檔名資料庫

  • IIS 對 .asp、.asa 預設交給 ASP 引擎解析,**不會直接當作靜態檔下載**。
  • 但下載工具 (迅雷、IDM、wget) **不經過 IIS 解析**,直接發 HTTP GET 請求,伺服器若未配置 MIME 映射或處理器對應,會當作二進位串流回傳 → **直接下載成功**。
  • 實測:https://site.com/data/db.asp 瀏覽器顯示原始碼/錯誤,迅雷直接下載完整二進位檔。

技術二:URL 編碼繞過 # 號防禦

  • 管理員以為 #db.mdb 瀏覽器會忽略 # 後內容而無法下載。
  • URL 編碼:# → %23。瀏覽器/下載工具請求 %23db.mdb,伺服器解碼後仍為 #db.mdb,**照樣下載**。
  • 同理:空格 → %20、@ → %40 等特殊字元均可編碼繞過。

技術三:Access 加密資料庫秒破解

  • Access 加密演算法極弱 (Jet 3.5/4.0),工具 AccessKey、Advanced Access Repair 幾秒到幾分鐘即可暴力破解密碼。
  • **結論:Access 密碼只能防君子,不可作為安全控制依據。**

技術四:暴庫 —— 從連線檔洩露資料庫路徑

典型 conn.asp 寫法:

db = "data/rds_dbd32rfd213fg.mdb"
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)

攻擊手法:

  1. 請求 https://site.com/conn.asp → 若 IIS 配置錯誤未對 .asp 映射處理器,直接顯示原始碼 → 洩露路徑。
  2. 若正常解析,**利用 %5c (反斜線 URL 編碼) 繞過路徑解析**:
    https://site.com/%5cconn.asp 或 https://site.com/..%5cconn.asp → 可能導致原始碼洩露或目錄遍歷。
  3. 拿到真實路徑後,結合技術一、二直接下載資料庫。

根本防禦措施

錯誤做法正確做法
資料庫放在 Web 目錄下資料庫放在 Web 根目錄之外 (如 D:\db\),Data Source 用絕對路徑
依賴副檔名、#號、Access密碼IIS 設定 .mdb、.asp 禁止下載/執行;改用 SQL Server / MySQL 等獨立資料庫服務
連線字串寫在 .asp 檔連線字串放在 web.config 加密區段、環境變數、Key Vault
未限制錯誤訊息輸出customErrors mode="RemoteOnly"、關閉詳細錯誤頁面

現代架構建議

  • 棄用 Access 檔案型資料庫,遷移至 PostgreSQL、MySQL、SQL Server 等 Client-Server 架構。
  • 應用與資料庫網路隔離,僅開放應用伺服器 IP 存取 3306/1433/5432。
  • 啟用 WAF (ModSecurity/Cloudflare) 攔截路徑遍歷、SQL 注入、敏感檔案洩露攻擊。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved