漏洞赏金方法论
图片来源:Adi Goldstein on Unsplash
漏洞赏金定义
漏洞赏金是由企业、组织或第三方平台举办的激励计划,旨在奖励成功发现并报告其系统安全漏洞(vulnerability)的个人或社区。该计划通过众包方式,利用安全研究社区(道德黑客)的力量参与测试和强化目标系统,从而提升系统安全性(Fagerholm et al., 2021)。
通过HackerOne、Bugcrowd或Intigriti等平台,企业可以设定计划范围、奖励级别以及漏洞猎人必须遵守的条款与条件。漏洞赏金也是协调漏洞披露(CVD)在数字风险管理中日益流行的一种实践形式(Ruohonen & Leppänen, 2021)。
漏洞赏金方法论
a. 规划(Planning)
漏洞赏金活动的第一阶段是规划,包括深入理解以下内容:
- 计划范围(scope):域名、子域名、应用功能以及法律和技术限制。
- 计划规则与政策:包括禁止行为(例如:DDoS、社会工程学)。
- 工具准备:安装代理工具(Burp Suite、ZAP)、字典文件、浏览器插件以及支持工具如Nmap或Nuclei。
根据NIST SP 800-115,规划包括测试目标识别、授权批准和时间安排(Scarfone et al., 2008)。
b. 信息收集(Reconnaissance)
信息收集(recon)是在实施漏洞利用前收集信息的过程,分为两种类型:
- 被动信息收集:不直接接触目标服务器,例如使用crt.sh、Google Dorking、gau或subfinder。
- 主动信息收集:涉及直接交互,如端口扫描或指纹识别,例如使用httpx和Wappalyzer。
Jason Haddix强调深入的信息收集是内容发现或漏洞利用前的主要基础(Haddix, 2023)。
c. 应用分析(Application Analysis)
应用分析旨在理解应用的工作方式、数据流以及潜在弱点。Jason Haddix建议在分析应用时回答以下6个关键问题:
- 数据如何传输?(REST、GraphQL、JSON-RPC等)
- 用户如何识别?(token、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(参数模式匹配)
- Burp Bounty(检测与特定漏洞类别匹配的参数)
参数分析帮助漏洞猎人专注于易受攻击区域,而无需对所有点进行暴力测试(Haddix, 2023)。
f. 热图与测试优先级
热图是Jason基于直觉和经验确定应用中最值得优先测试部分的策略。 优先区域包括:
- 上传功能 — 常易受SSRF、XSS或RCE攻击
- 多部分表单 — 常包含解析弱点
- API端点 — 尤其是管理员端点或无需认证的端点
- 用户资料 — 存储型XSS或模板注入的主要目标
- URL参数 — SSRF或开放重定向目标
- 错误处理 — 异常错误可能提供漏洞线索
此策略使测试更高效和专注。
g. 报告与文档
最后阶段是专业且道德地编写漏洞报告。 常见的漏洞赏金报告结构包括:
- 漏洞标题
- 目标URL/端点
- 复现步骤(分步PoC)
- 影响与技术解释
- 证据(截图、请求-响应、载荷)
- 缓解建议
报告伦理也很重要:报告必须通过官方渠道,未经许可不公开信息,并尊重目标系统的权利和保密性(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