漏洞赏金方法论
漏洞赏金的定义
漏洞赏金是由公司、组织或第三方平台举办的激励计划,旨在奖励成功发现并报告其系统安全漏洞的个人或社区。该计划通过众包方式利用安全研究社区(道德黑客)参与测试和强化目标系统,从而提升系统安全性(Fagerholm et al., 2021)。
通过HackerOne、Bugcrowd或Intigriti等平台,公司可以设定计划范围、奖励级别以及漏洞猎人必须遵守的条款和条件。漏洞赏金也是协调漏洞披露(CVD)在数字安全管理中日益流行的一种形式(Ruohonen & Leppänen, 2021)。
漏洞赏金方法论
a. 计划(Perencanaan)
漏洞赏金活动的第一阶段是计划。这包括深入理解:
- 计划范围(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等)
- 用户如何识别?(令牌、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. 热图与测试优先级
热图是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
#IDNBootCampCyber #BugBountyCybersecurity