KeyFrame內部研究專用

Top 4 Web hacking demos for aspiring hackers (with labs and CTF)

David Bombal·3月15日週日·25 min英文

三句話摘要

全職漏洞獵人 Justin Gardner 示範四種真實存在的 Web 漏洞,並分享從零到全職 Bug Bounty 的具體路徑。 Bug Bounty 的核心競爭力不是天賦,而是願意在前幾百次失敗中持續累積對應用程式的理解深度,直到成為那個應用程式的世界級專家。 IDOR 至今仍是高回報漏洞:只需改 URL 中的數字 ID,即可存取其他用戶資料。Justin 表示三週內仍發現此類漏洞,關鍵在於找到應用程式中鮮少人關注的深層 endpoint。

重點整理

重點
  • 1

    IDOR 至今仍是高回報漏洞:只需改 URL 中的數字 ID,即可存取其他用戶資料。Justin 表示三週內仍發現此類漏洞,關鍵在於找到應用程式中鮮少人關注的深層 endpoint。

  • 2

    Client-side Access Control 形同虛設:瀏覽器 UI 上的 `disabled` 屬性無法阻止伺服器執行操作,只要用 DevTools 移除屬性並送出請求,伺服器若沒有後端驗證,動作就會成功,這類漏洞一週內仍可找到。

  • 3

    AI 正在重塑 Bug Bounty 生態:AI 降低了撰寫自動化工具的門檻,讓有經驗的獵人能以更大規模操作;Justin 也用 AI 協助理解程式碼結構,進而找到 www.google.com 的 XSS。

  • 4

    成功的核心是刻意練習加上容忍失敗:學習期投入 200 小時、挑選一個主攻漏洞類型,接著不斷實戰嘗試,前幾百次失敗是正常過程,突破後學習速度會倍增。

實用技巧與重點

乾貨
  • 四大漏洞類型:IDOR、Broken Access Controls(Client-side)、XSS(Cross-Site Scripting)、CSRF(Cross-Site Request Forgery)
  • Demo 環境:`ztw.ctvb.show`(ZeroTrust World 活動 Lab,影片播出後仍可使用)
  • 推薦學習資源
  • PortSwigger Web Security Academy(免費,高品質)
  • Kaido Labs:`labs.kai.do`(Justin 任職的 HTTP Proxy 公司)
  • HackerOne 公開漏洞報告(write-up 寶庫)
  • Bug Bounty 平台:HackerOne、Bugcrowd、Intigriti;Google / Meta / Microsoft 各有自營計畫
  • 入門建議時數:200 小時打底學習,最後 50 小時專攻一種漏洞類型(推薦 IDOR)
  • 轉職門檻:Part-time Bug Bounty 收入 ≥ 正職薪資後再辭職
  • 真實案例
  • Justin 在 Google、Uber、Meta 皆靠 IDOR 拿過 Bounty
  • 三週內仍發現 IDOR;一週內仍發現 Client-side Access Control 漏洞
  • 找到 www.google.com XSS,為職涯代表作
  • 一位 French Major 學生在兩年內被邀請參加全球黑客競賽(Sosaka Gucci)
  • Same-site Cookies:降低了傳統 CSRF 的可利用性,但 GET-based CSRF 仍常見於帳號連結功能
  • 工具:HTTP Proxy(Kaido 或 Burp Suite by PortSwigger)、瀏覽器 DevTools Network Tab
  • 社群:Critical Thinking Bug Bounty Podcast + Discord,內有轉職指南

結論

結論

Bug Bounty 的核心競爭力不是天賦,而是願意在前幾百次失敗中持續累積對應用程式的理解深度,直到成為那個應用程式的世界級專家。

完整解析

詳細

Bug Bounty(漏洞獎勵計畫)是一種由企業公開邀請外部研究人員回報安全漏洞並給予金錢獎勵的機制。本集節目中,主持人 David Bombal 邀請全職 Bug Bounty 獵人 Justin Gardner 示範四種最基礎卻在 2026 年仍真實存在的 Web 漏洞,並針對入門路徑給出實務建議。Justin 特別強調,AI 工具的普及雖然讓有經驗的獵人效率倍增,但這個領域對願意持續嘗試的新人仍然充滿機會。

Justin 示範的第一個漏洞是 IDOR(Insecure Direct Object Reference):只需將 URL 中的用戶 ID 從 4 改為 5,就能直接存取另一位用戶的私人資料。他強調這不只是實驗室案例,而是他三週內仍實際發現的漏洞類型,並曾靠此手法在 Google、Uber、Meta 拿到 Bounty。訣竅在於找到應用程式中鮮少被測試的深層 API endpoint,因為前端 UI 雖然可能隱藏了 ID,但 Network Tab 的 API 請求往往直接暴露。第二個是 Client-side Broken Access Controls:前端將按鈕設為 `disabled` 只是 UI 建議,無法阻止伺服器執行操作。用 DevTools 移除 `disabled` 屬性後送出請求,若伺服器沒有後端授權驗證,刪除等敏感操作就會成功執行。Justin 提醒,單純在自己瀏覽器移除屬性不構成漏洞,必須伺服器確實執行了不應允許的動作才算。

第三個漏洞 XSS(Cross-Site Scripting) 是將 HTML 或 JavaScript 注入頁面並被瀏覽器當作程式碼執行。Justin 以搜尋框為例,輸入 `<h1>` 標籤後文字被放大,確認輸入被當作 HTML 解析,進而可注入 JavaScript 劫持其他用戶的 Session。Justin 分享他職涯代表作——在 www.google.com 上發現 XSS,過程中借助 AI 理解複雜程式碼結構。他坦承 Reflected XSS 因框架層面的修補已較難找到,現實中更常見的是結合 race condition、postMessage 或 CSP bypass 的複合型攻擊。第四個是 CSRF(Cross-Site Request Forgery):示範應用的「刪除帳號」功能只是一個不帶任何 Token 驗證的 GET 請求,攻擊者只需讓已登入的受害者造訪含有該 URL 的惡意網頁,帳號即被刪除。Justin 指出 Same-site Cookies 的普及讓 CSRF 變得更難利用,但 GET-based CSRF 在帳號與第三方服務連結的場景仍相當普遍。最後的「隱藏關卡」則融合了所有技巧:先用 DevTools 解鎖被 `disabled` 的按鈕進入隱藏 Lab,再用 IDOR 存取第 100 號用戶,最後直接查看 API 回應,發現密碼以明文形式回傳。

在入門建議方面,Justin 提出清晰的三階段路徑:先花 200 小時廣泛了解各類漏洞,最後 50 小時挑選一種(他推薦 IDOR)深入鑽研;之後立即進入實戰,前 100–200 次嘗試的失敗都是正常過程,突破後學習速度會以倍數提升。學習資源首推 PortSwigger Academy 與 HackerOne 公開報告,並建議從自己熟悉且有合法 Bug Bounty 計畫的應用程式下手。至於是否辭職全職投入,他的建議是:先讓 Part-time Bug Bounty 收入超過正職薪資,再考慮轉職——因為在財務壓力下逼自己「今天一定要找到漏洞」,反而會妨礙思考。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。