漏洞赏金方法论
定义漏洞赏金
漏洞赏金是由公司、组织或第三方平台举办的激励计划,奖励成功发现并报告其系统安全漏洞(vulnerability)的个人或社区。该计划旨在通过众包方法提高系统安全性,让安全研究人员(道德黑客)社区参与测试和加固目标系统(Fagerholm 等人,2021)。
通过 HackerOne、Bugcrowd 或 Intigriti 等平台,公司可以设定范围、奖励级别以及漏洞猎人必须遵守的条款和条件。漏洞赏金也是协调漏洞披露(CVD)的一种形式,在数字安全风险管理中越来越受欢迎(Ruohonen & Leppänen,2021)。
漏洞赏金方法论
a. 规划(Perencanaan)
漏洞赏金活动的第一阶段是规划。这包括深入了解:
- 计划范围(scope):域、子域、应用程序功能以及法律和技术限制。
- 计划规则和政策:包括禁止事项(例如:DDoS、社会工程)。
- 工具准备:安装代理(Burp Suite、ZAP)、单词列表、浏览器插件以及支持工具如 Nmap 或 Nuclei。
根据 NIST SP 800–115,规划包括识别测试目标、授权批准和日程安排(Scarfone 等人,2008)。
b. 信息收集(Reconnaissance)
信息收集(recon)是在进行利用之前收集信息的过程。有两种类型的信息收集:
- 被动信息收集:不直接接触目标服务器,例如使用 crt.sh、Google Dorking、gau 或 subfinder。
- 主动信息收集:涉及直接交互,如端口扫描或指纹识别,例如使用 httpx 和 Wappalyzer。
Jason Haddix 强调深入的信息收集是进行内容发现或利用之前的主要基础(Haddix,2023)。
c. 应用分析(Analisis Aplikasi)
应用分析旨在了解应用程序的工作方式、数据流和潜在弱点。Jason Haddix 建议在分析应用程序时回答六个重要问题:
- 数据如何传输?(REST、GraphQL、JSON-RPC 等)
- 用户如何识别?(令牌、cookie、UUID、电子邮件)
- 应用程序是否有用户级别或多租户?
- 应用程序是否有独特的威胁模型?(例如:Twitch 上的流密钥)
- 是否有先前的漏洞历史?
- 框架如何处理安全性?(例如,Laravel 对 XSS 的处理)
理解这些可以将测试引导到风险最高的部分(Haddix,2023)。
d. 内容发现(Content Discovery)
此阶段旨在发现应用程序中的隐藏端点,无论是活动的还是已废弃但仍可用的(遗留)。
使用的技术:
- 使用 feroxbuster、ffuf 或 dirsearch 等工具进行目录/端点模糊测试。
- 利用 assetnote.io 的技术特定单词列表。
- 使用 gau、waymore 和 Wayback Machine 进行历史发现。
- JavaScript 解析以从脚本中发现端点/API(工具:LinkFinder、GAP)。
Jason 强调内容发现是漏洞赏金中最有利可图的阶段(Haddix,2023)。
e. 参数分析(Parameter Analysis)
发现端点后,下一步是分析应用程序使用的参数。许多类型的漏洞,如 IDOR、XSS 和 SSRF,源于参数操纵。
Jason 开发了 HUNT 工具并映射了最常易受攻击的参数,如:
- id、user_id、email、account、order_id
- redirect、url、next
支持工具:
- GF(grep 参数模式)
- Burp Bounty(检测与特定漏洞类别匹配的参数)
参数分析帮助漏洞猎人专注于易受攻击的区域,而不必对所有点进行暴力测试(Haddix,2023)。
f. 热图与测试优先级(Heat Mapping dan Prioritas Pengujian)
热图是 Jason 的策略,用于根据直觉和经验的组合确定应用程序中最值得首先测试的部分。
优先区域:
- 上传功能 — 通常易受 SSRF、XSS 或 RCE 攻击
- 多部分表单 — 经常包含解析弱点
- API 端点 — 尤其是管理员端点或无需身份验证的端点
- 用户配置文件 — 存储 XSS 或模板注入的主要目标
- URL 参数 — SSRF 或开放重定向的目标
- 错误处理 — 异常错误可能提供漏洞线索
此策略使测试更高效和集中。
g. 报告与文档(Pelaporan dan Dokumentasi)
最后阶段是专业且合乎道德地编写漏洞报告。
常见的漏洞赏金报告结构:
- 漏洞标题
- 目标 URL / 端点
- 复现步骤(逐步 PoC)
- 影响和技术解释
- 证据(截图、请求-响应、payload)
- 缓解建议
报告道德也很重要:报告必须通过官方渠道,未经许可不得公开传播信息,并尊重目标系统的权利和保密性(Ruohonen & Leppänen,2021)。
参考文献
Fagerholm, F., Grünbacher, P., & LaToza, T. D. (2021). The Role of Bug Bounties in Secure Software Development: A Survey of Software Professionals. Journal of Systems and Software, 173, 110872. https://doi.org/10.1016/j.jss.2020.110872
Haddix, J. (2023). Buck Hunters Methodology — Application Analysis & Recon. Presented at NahamCon Virtual. https://www.youtube.com/watch?v=FqnSAa2KmBI
OWASP. (2021). OWASP Top Ten Web Application Security Risks — 2021. https://owasp.org/Top10/
Ruohonen, J., & Leppänen, V. (2021). Coordinated Vulnerability Disclosure and the Role of Bug Bounties. Computers & Security, 100, 102090. https://doi.org/10.1016/j.cose.2020.102090
Scarfone, K., Souppaya, M., Cody, A., & Orebaugh, A. (2008). Technical Guide to Information Security Testing and Assessment (NIST SP 800–115). National Institute of Standards and Technology. https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-115.pdf
#BootCampCyber #BugBountyCybersecurity