臺中市體育總會田徑委員會 SQL Injection - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2026-00902
  •  發信 Vendor: {臺中市體育總會田徑委員會}
  • Title: 臺中市體育總會田徑委員會 SQL Injection
  • Introduction: login.php 的登入功能存在 SQL Injection,可透過萬用密碼繞過身分驗證直接登入後台;另 index.php 亦存在 SQL Injection 可讀取資料庫與檔案。

處理狀態

目前狀態

公開
Last Update : 2026/09/03
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 未複測
  • 公開

處理歷程

  • 2026/07/03 14:46:34 : 新提交 (由 Bun_. 更新此狀態)
  • 2026/07/03 15:33:37 : 新提交 (由 Bun_. 更新此狀態)
  • 2026/07/03 15:38:15 : 新提交 (由 Bun_. 更新此狀態)
  • 2026/07/07 13:44:24 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/23 16:37:58 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/23 16:37:58 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/23 16:37:58 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/08/26 11:12:05 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2026/09/02 12:27:13 : 未修補完成 (由 Bun_. 更新此狀態)
  • 2026/09/03 03:00:19 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2026-00902
  • 通報者: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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://w2.athletics.org.tw/tctf/login.php
https://w2.athletics.org.tw/tctf/index.php

敘述

臺中市體育總會田徑委員會網站的 index.php,其 GET 參數 pagesize 未經過濾即帶入 SQL 查詢,存在 SQL Injection 漏洞。
重現方式:

登入功能 login.php 的 username 參數未經過濾即帶入 SQL 查詢,可透過萬用密碼(' OR 1=1 -- )使查詢條件恆真,繞過帳號密碼驗證,直接以資料庫中第一筆使用者身分登入後台。
圖片
登入身分為資料庫第一筆使用者「趙子文」

於 username 參數使用' OR 1=1 LIMIT 1,1 --指定登入資料表中第二筆使用者
LIMIT 1,1 表示跳過第一筆、取第二筆使用者。由於該站使用者資料表中第二筆為具最高權限之系統管理員帳號(Priv=root),此請求即可繞過帳號密碼驗證,直接以系統管理員身分登入後台。
圖片

使用 sqlmap 對 pagesize 參數進行注入測試:

sqlmap -u "https://w2.athletics.org.tw/tctf/index.php?pagesize=15&pages=12&pagesize=15&TpId=1&CtType=1" --random-agent --is-dba --dbs

確認注入成立:
可存取之資料庫:tctf
後端 DBMS:MySQL(MariaDB fork)/Linux CentOS 7/Apache 2.4.6/PHP 5.4.16
圖片

由於注入具備檔案讀取能力,可透過 LOAD_FILE() 讀取伺服器上的檔案(惟因採 time-based 盲注,讀取速度較慢)。

修補建議

1. 登入功能改用參數化查詢(Prepared Statements),勿將 username 直接拼接進 SQL 語句。
2. 密碼驗證應以雜湊比對進行,且不得僅依賴 SQL 查詢是否回傳資料列來判斷登入成功。
3. 對 username 等所有輸入參數進行嚴格驗證與跳脫。
4. 後台每個功能頁面應獨立進行 session 權限檢查,避免單一驗證點被繞過即完全淪陷。
5. 建議登入導入帳號鎖定、多因素驗證等機制,降低被自動化繞過與濫用的風險。

擷圖

留言討論

聯絡組織

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