公开文集
0x01 SRC 资产管理系统
0x02 Web 漏洞案例库
0x03 小程序漏洞案例库
第一章:小程序渗透基础
1.1 微信小程序反编译与动态调试
1.2 微信小程序强制开启开发者模式
0x99 信息安全学习体系
01-网络安全基础
Day-001-TCP-IP协议栈安全分析
Day-002-DNS协议安全与DNS劫持攻防
Day-003-IPv6 安全基础与过渡
Day-004-HTTP-HTTPS协议深度解析
Day-005-网络嗅探与流量分析技术
Day-006-防火墙原理与配置实践
Day-007-网络地址转换 NAT 安全分析
Day-008-路由协议安全 RIP-OSPF-BGP
Day-009-VLAN 安全与 VLAN-Hopping
Day-010-无线网络基础与安全 802.11
Day-011-网络访问控制 802.1X-NAC
Day-012-网络分段与微隔离设计
Day-013-负载均衡器安全配置
Day-014-CDN安全与防护
Day-015-NTP安全
Day-016-DHCP安全与攻击防护
Day-017-ICMP协议安全分析
Day-018-网络协议模糊测试基础
Day-019-网络流量基线建立
Day-020-网络取证基础
Day-021-网络入侵检测系统 NIDS
Day-022-网络入侵防御系统 NIPS
Day-023-网络流量加密与解密
Day-024-网络协议逆向工程基础
Day-025-网络性能与安全权衡
Day-026-SDN 安全
Day-027-网络虚拟化安全
Day-028-网络欺骗技术
Day-029-网络威胁情报应用
Day-030-网络容量规划与安全
Day-031-网络安全架构设计实战
02-Web 安全
Day-032-OWASP-Top-10-2021详解
Day-033-SQL 注入原理与手工检测
Day-034-SQL注入进阶报错注入与盲注
Day-035-XSS跨站脚本攻击基础
Day-036-XSS 进阶绕过与利用
Day-037-XSS进阶绕过与利用
Day-038-CSRF 跨站请求伪造
Day-039-文件上传漏洞
Day-040-反序列化漏洞基础
Day-041-PHP反序列化深入
Day-042-Java反序列化深入
Day-043-SSTI 服务端模板注入
Day-044-文件包含漏洞 LFI-RFI
Day-045-命令注入漏洞
Day-046-XXE-XML 外部实体注入
Day-047-反序列化漏洞进阶
Day-048-API 安全基础
Day-049-API认证与授权安全
Day-050-API漏洞挖掘实战
Day-051-文件上传漏洞进阶
Day-052-反序列化漏洞实战
Day-053-Web 安全综合实战
Day-054-移动安全基础
Day-055-Android 应用安全测试
Day-056-iOS 应用安全测试
Day-057-移动应用综合实战
Day-058-云安全基础
Day-059-AWS 安全实战
Day-060-Azure 安全实战
Day-061-GCP 安全实战
Day-062-云安全综合实战
Day-063-容器安全基础
Day-064-Docker 安全实战
Day-065-Kubernetes 安全实战
Day-066-容器安全综合实战
Day-067-API 安全进阶
Day-068-服务端请求伪造 SSRF 深入
Day-069-文件上传漏洞进阶
Day-070-反序列化漏洞实战进阶
Day-071-业务逻辑漏洞深入
Day-072-前端安全深入
Day-073-Web 安全综合实战
Day-074-云安全进阶
Day-075-移动安全进阶
Day-076-API 安全进阶
Day-077-前端安全进阶
Day-078-业务逻辑漏洞进阶
Day-079-反序列化漏洞实战进阶
Day-080-文件上传漏洞实战进阶
Day-081-SSTI 服务端模板注入进阶
Day-082-XXE-XML 外部实体注入进阶
Day-083-SSRF 服务端请求伪造进阶
Day-084-命令注入漏洞进阶
Day-085-文件包含漏洞进阶
Day-086-反序列化漏洞实战进阶
Day-087-文件上传漏洞实战进阶
Day-088-SSTI 服务端模板注入实战进阶
Day-089-XXE-XML 外部实体注入实战进阶
Day-090-SSRF 服务端请求伪造实战进阶
Day-091-命令注入漏洞实战进阶
Day-092-Web 安全综合实战
Day-093-GraphQL 安全
Day-094-JWT 与 OAuth2 安全
03-系统安全
Day-095-系统监控与检测
Day-096-主机防火墙配置
Day-097-系统审计与合规
Day-098-Linux 系统安全进阶
Day-099-Windows 系统安全进阶
Day-100-容器安全进阶
Day-101-容器编排安全进阶
Day-102-Linux 内核安全
Day-103-Windows 内核安全
Day-104-系统安全总结与实战
Day-105-Linux 系统安全基础
Day-106-Windows 系统安全基础
Day-107-容器安全基础
Day-108-系统加固技术
Day-109-日志分析技术
Day-110-威胁狩猎技术
04-应用安全
Day-111-安全编码规范
Day-112-输入验证技术
Day-113-输出编码技术
Day-114-错误处理安全
Day-115-会话管理安全
Day-116-认证安全
Day-117-授权安全
Day-118-数据保护安全
Day-119-日志安全
Day-120-API 安全
Day-121-微服务安全
Day-122-新兴技术安全概论
Day-123-DevSecOps 流水线安全
Day-124-云原生安全架构
Day-125-API 安全最佳实践
Day-126-安全编码规范
Day-127-SDL 安全开发生命周期
Day-128-威胁建模实战
Day-129-安全需求分析
Day-130-安全架构设计
Day-131-安全编码实践Java
Day-132-安全编码实践Python
Day-133-代码审计方法论
Day-134-静态代码分析SAST
Day-135-动态应用测试DAST
Day-136-交互式测试IAST
Day-137-软件成分分析SCA
Day-138-依赖漏洞管理
Day-139-安全测试自动化
Day-140-漏洞管理与响应
Day-142-OWASP-Top10-2024 详解
Day-143-CWE-Top25 分析
Day-144-漏洞挖掘方法论
Day-145-模糊测试技术
Day-146-逆向工程基础
Day-147-漏洞利用开发基础
Day-148-漏洞复现与验证
Day-149-漏洞披露流程
Day-150-CVE 申请与管理
Day-151-漏洞赏金计划
Day-152-等保2.0详解
Day-153-GDPR 合规实践
Day-154-数据安全法解读
Day-155-个人信息保护法与合规指南
Day-156-个人信息保护法解读
Day-157-ISO-27001 信息安全管理体系
Day-158-SOC-2 合规与审计
Day-159-PCI-DSS 支付卡行业数据安全标准
Day-160-网络安全审查办法解读
Day-161-数据出境安全评估办法
Day-162-应用安全评估实战
Day-163-红蓝对抗演练
Day-164-安全应急响应
Day-165-安全运营中心建设
Day-166-应用安全总结与展望
05-密码学
Day-167-密码学基础
Day-168-对称加密算法详解
Day-169-非对称加密算法详解
Day-170-哈希函数与数字签名
Day-171-密钥管理与PKI
Day-172-TLS-SSL 协议详解
Day-173-国密算法详解
Day-174-认证与密钥协议
Day-175-随机数生成与熵源
Day-176-椭圆曲线密码学详解
Day-177-后量子密码学详解
Day-178-高级密码学主题
Day-179-密码学行业应用精选
Day-180-常用加密算法原理与实现
Day-181-密码学总结与展望
06-渗透测试
Day-183-渗透测试方法论
Day-184-信息收集技术详解
Day-185-漏洞扫描技术详解
Day-186-漏洞利用技术详解
Day-187-渗透测试中的漏洞利用框架
Day-188-漏洞利用框架与 Metasploit 深入
Day-189-渗透测试中的 WAF 绕过技术
Day-190-渗透测试中的模糊测试技术
Day-191-渗透测试中的代码审计与静态分析
Day-192-渗透测试中的密码哈希破解技术
Day-193-渗透测试报告编写指南
Day-194-Web 应用渗透测试
Day-195-渗透测试中的 API 安全测试
Day-196-渗透测试中的 GraphQL 安全测试
Day-197-渗透测试中的前后端分离应用测试
Day-198-渗透测试中的小程序安全测试
Day-199-渗透测试中的浏览器安全测试
Day-200-OAuth-SSO安全测试
Day-201-渗透测试中的业务逻辑漏洞测试
Day-202-渗透测试中的厚客户端安全测试
Day-203-渗透测试综合实战演练
Day-204-内网渗透技术详解
Day-205-渗透测试中的内网信息收集进阶
Day-206-渗透测试中的域森林渗透技术
Day-207-渗透测试中的权限维持技术
Day-208-渗透测试中的横向移动技术
Day-209-渗透测试中的痕迹清理与反取证技术
Day-210-渗透测试中的数据窃取与 Exfiltration 技术
Day-211-渗透测试中的内部威胁与数据泄露测试
Day-212-渗透测试中的物理安全渗透
Day-213-社会工程学攻击技术
Day-214-移动应用渗透测试
Day-215-云安全渗透测试
Day-216-渗透测试中的容器与 Kubernetes 安全渗透
Day-217-渗透测试中的 Serverless 安全测试
Day-218-渗透测试中的微服务安全测试
Day-219-物联网安全渗透测试
Day-220-工业控制系统安全渗透测试
Day-221-无线网络安全渗透测试
Day-222-数据库安全渗透测试
Day-223-渗透测试中的供应链安全测试
Day-224-红队演练技术详解
Day-225-渗透测试中的红队基础设施搭建
Day-226-渗透测试中的威胁情报与狩猎
Day-227-渗透测试中的综合指纹识别技术
Day-228-自动化渗透测试技术
Day-229-渗透测试中的运维安全测试
Day-230-渗透测试中的区块链与智能合约安全测试
Day-231-渗透测试中的漏洞管理与修复验证
Day-232-渗透测试法律与合规
Day-233-后渗透攻击技术详解
Day-234-渗透测试中的人工智能应用
Day-235-漏洞利用开发深入
Day-236-云原生渗透测试深入
07-应急响应
Day-237-应急响应概述与核心概念
Day-238-应急响应流程框架
Day-239-CSIRT 团队组建与职责分工
Day-240-应急响应工具包准备
Day-241-应急响应法律与合规要求
Day-242-安全事件检测方法与指标
Day-243-云原生应急响应
Day-244-日志收集与分析技术
Day-245-网络流量分析与异常识别
Day-246-自动化响应与 SOAR
Day-247-端点监控与 EDR 技术
Day-248-威胁狩猎方法论
Day-249-威胁情报在检测中的应用
Day-250-数字取证基础与证据链管理
Day-251-内存取证技术
Day-252-磁盘取证与文件恢复
Day-253-网络取证与数据包分析
Day-254-云环境与容器取证
Day-255-恶意代码静态分析技术
Day-256-恶意代码动态分析技术
Day-257-恶意代码行为分析方法
Day-258-逆向工程基础与工具
Day-259-沙箱技术与自动化分析
Day-260-事件隔离与遏制策略
Day-261-威胁根除与系统修复
Day-262-系统恢复与数据重建
Day-263-业务连续性计划
Day-264-事件复盘与经验总结
Day-265-APT 攻击事件复盘分析
Day-266-勒索软件事件响应实战
Day-267-数据泄露事件处置流程
Day-268-内部威胁调查与取证
Day-269-综合应急响应演练
08-安全运维
Day-270-安全运营中心 SOC 概述
Day-271-安全监控指标体系
Day-272-安全告警管理
Day-273-安全可视化与仪表盘
Day-274-监控工具选型
Day-275-日志采集技术
Day-276-日志标准化与解析
Day-277-日志存储与归档
Day-278-日志分析技术
Day-279-日志合规要求
Day-280-SIEM 架构与设计
Day-281-关联规则引擎
Day-282-高级关联分析
Day-283-UEBA 用户实体行为分析
Day-284-威胁狩猎
Day-285-SOAR 基础概念
Day-286-剧本设计
Day-287-自动化响应技术
Day-288-安全工具集成
Day-289-SOAR 度量与优化
Day-290-安全基线管理
Day-291-漏洞管理流程
Day-292-补丁管理策略
Day-293-变更安全管理
Day-294-合规审计技术
Day-295-7x24 安全运营
Day-296-安全事件管理流程
Day-297-安全运营度量体系
Day-298-持续改进机制
Day-299-安全运维综合演练
Day-300-云原生安全运营
Day-301-AI 与机器学习安全运营
Day-302-安全自动化脚本实战
09-移动安全
Day-303-移动安全威胁概述
Day-304-移动设备安全架构
Day-305-移动操作系统安全模型
Day-306-移动应用权限管理
Day-307-移动端数据加密
Day-308-330-Android 安全合集
Day-309-Android 安全架构
Day-310-Android 组件安全
Day-311-Android 权限与隐私
Day-312-Android 逆向工程
Day-313-Android 应用加固
Day-314-iOS 安全架构
Day-315-iOS 应用沙盒机制
Day-316-越狱与反越狱
Day-317-iOS 逆向工程
Day-318-iOS 企业分发安全
Day-319-移动安全开发生命周期
Day-320-移动应用安全测试
Day-321-移动应用加固技术
Day-322-移动威胁防护
Day-323-移动安全合规
10-云安全
Day-324-云计算安全模型
Day-325-责任共担模型
Day-326-云安全威胁模型
Day-327-云安全合规框架
Day-328-云安全架构设计
Day-329-AWS IAM 安全
Day-330-AWS 网络安全
Day-331-AWS 存储安全
Day-332-AWS 安全监控
Day-333-AWS 安全最佳实践
Day-334-Azure AD 安全
Day-335-Azure 网络安全
Day-336-Azure 存储安全
Day-337-Azure 安全中心
Day-338-Azure 安全最佳实践
Day-339-容器安全基础
Day-340-Kubernetes 安全
Day-341-Serverless 安全
Day-342-云原生 DevSecOps
Day-343-云安全态势管理 CSPM
11-物联网工控
Day-344-物联网安全概述
Day-345-IoT 通信协议安全
Day-346-IoT 设备安全
Day-347-IoT 平台安全
Day-348-IoT 应用安全
Day-349-工业控制系统概述
Day-350-工控协议安全
Day-351-PLC 安全
Day-352-SCADA 系统安全
Day-353-工控安全防护
12-综合与总结
Day-354-安全职业发展路径
Day-355-安全技术趋势展望
Day-356-安全建设方法论
Day-357-经典攻防案例复盘
Day-358-安全学习资源指南
Day-359-信息安全行业求职指南
-
+
首页
Day-151-漏洞赏金计划
# Day 165: 漏洞赏金计划 > 漏洞与攻防系列第 10 天 | 预计阅读时间:60 分钟 | 难度:★★★★☆ --- **PUA v3 · Sprint 启动** ``` ┌─────────┬────────────────────────────────────┐ │ 清单 任务 │ 漏洞赏金计划 - Day 165 │ ├─────────┼────────────────────────────────────┤ │ 味道 │ 阿里味(自动:安全任务) │ ├─────────┼────────────────────────────────────┤ │ 压力 │ L0 · 信任期 │ └─────────┴────────────────────────────────────┘ ``` ▎ 漏洞赏金不是赚钱工具,是安全生态。生态不健康,安全就是单向的。今天深入漏洞赏金计划。 --- ## 清单 目录 1. [漏洞赏金概述](#漏洞赏金概述) 2. [赏金计划类型](#赏金计划类型) 3. [平台选择与使用](#平台选择与使用) 4. [漏洞提交流程](#漏洞提交流程) 5. [报告编写技巧](#报告编写技巧) 6. [赏金谈判策略](#赏金谈判策略) 7. [猎人成长路线](#猎人成长路线) 8. [企业计划建设](#企业计划建设) 9. [总结与思考](#总结与思考) 10. [参考资料](#参考资料) --- ## 漏洞赏金概述 ### 什么是漏洞赏金 > ▎ 漏洞赏金不是施舍,是价值交换。价值不明确,计划就是无效的。 **定义与价值**: ``` 漏洞赏金 (Bug Bounty) 是组织向安全研究人员支付报酬以报告安全漏洞的计划,是一种众包安全研究模式。 核心价值: 1. 对研究人员 - 经济回报 - 技能提升 - 声誉建立 - 职业发展 2. 对厂商 - 发现更多漏洞 - 降低安全成本 - 提升安全水平 - 建立安全声誉 3. 对用户 - 更安全的产品 - 及时漏洞修复 - 减少受害风险 ``` **赏金生态系统**: ``` ┌─────────────────────────────────────────────────────────┐ │ 漏洞赏金生态系统 │ ├─────────────────────────────────────────────────────────┤ │ │ │ 研究人员 (Hunter) │ │ ├── 独立研究员 │ │ ├── 安全公司员工 │ │ ├── 学术研究人员 │ │ └── 业余爱好者 │ │ │ │ 平台 (Platform) │ │ ├── HackerOne │ │ ├── Bugcrowd │ │ ├── Synack │ │ └── 厂商自有平台 │ │ │ │ 厂商 (Vendor) │ │ ├── 科技公司 │ │ ├── 金融机构 │ │ ├── 政府机构 │ │ └── 开源项目 │ │ │ │ 社区 (Community) │ │ ├── 知识分享 │ │ ├── 最佳实践 │ │ ├── 声誉系统 │ │ └── 行业标准 │ │ │ └─────────────────────────────────────────────────────────┘ ``` ### 赏金计划类型 **计划类型**: ```python # 漏洞赏金计划类型 class BountyProgramTypes: """漏洞赏金计划类型""" types = { 'public': { 'name': '公开计划', 'description': '任何人都可以参与', 'pros': [ '参与人数多', '发现漏洞多', '透明度高' ], 'cons': [ '管理成本高', '重复报告多', '低质量报告多' ], 'suitable_for': '大型科技公司、成熟产品' }, 'private': { 'name': '私有计划', 'description': '仅邀请研究员参与', 'pros': [ '研究员质量高', '报告质量好', '管理成本低' ], 'cons': [ '参与人数少', '发现漏洞有限', '透明度低' ], 'suitable_for': '初创公司、敏感产品' }, 'vdp': { 'name': '漏洞披露计划 (VDP)', 'description': '无金钱奖励,仅致谢', 'pros': [ '成本低', '建立关系', '入门友好' ], 'cons': [ '吸引力低', '高质量研究员少', '报告数量有限' ], 'suitable_for': '预算有限、非营利组织' }, 'managed': { 'name': '托管计划', 'description': '平台管理全流程', 'pros': [ '专业管理', '流程规范', '争议处理' ], 'cons': [ '平台费用', '控制较少', '依赖平台' ], 'suitable_for': '大多数企业' } } def recommend_program_type(self, organization_info): """推荐计划类型""" factors = { 'budget': organization_info.get('budget', 'medium'), 'security_maturity': organization_info.get('security_maturity', 'medium'), 'product_sensitivity': organization_info.get('product_sensitivity', 'medium'), 'team_size': organization_info.get('security_team_size', 0) } # 预算充足 + 安全成熟 → 公开计划 if factors['budget'] == 'high' and factors['security_maturity'] == 'high': return 'public' # 预算有限 → VDP if factors['budget'] == 'low': return 'vdp' # 产品敏感 → 私有计划 if factors['product_sensitivity'] == 'high': return 'private' # 默认推荐托管计划 return 'managed' ``` --- ## 平台选择与使用 ### 主要平台 > ▎ 平台不是随便选,是匹配选。平台不匹配,效率就是低下的。 **平台对比**: ``` 主要漏洞赏金平台: 1. HackerOne ├── 最大平台 (2000+ 计划) ├── 平均赏金:$500-$5000 ├── 特点:规范流程、声誉系统 └── 适合:大多数企业 2. Bugcrowd ├── 第二大平台 (1000+ 计划) ├── 平均赏金:$500-$3000 ├── 特点:快速响应、优先级系统 └── 适合:初创公司 3. Synack ├── 精英平台 (严格筛选) ├── 平均赏金:$1000-$10000 ├── 特点:高质量研究员、高报酬 └── 适合:高安全要求企业 4. 厂商自有平台 ├── Google VRP ├── Microsoft MSRC ├── Apple Security └── 适合:大型科技公司 ``` **平台选择指南**: ```python # 平台选择 class PlatformSelection: """平台选择指南""" def compare_platforms(self, requirements): """比较平台""" platforms = { 'hackerone': self.evaluate_hackerone(requirements), 'bugcrowd': self.evaluate_bugcrowd(requirements), 'synack': self.evaluate_synack(requirements), 'custom': self.evaluate_custom_platform(requirements) } # 评分 scores = {} for name, evaluation in platforms.items(): scores[name] = self.calculate_score(evaluation, requirements) # 推荐 recommended = max(scores, key=scores.get) return { 'recommended': recommended, 'scores': scores, 'details': platforms } def evaluate_hackerone(self, requirements): """评估 HackerOne""" return { 'program_count': 2000+, 'average_bounty': 5000, 'platform_fee': '5-15%', 'features': [ '标准化流程', '声誉系统', '协调披露', '支付保障', 'API 支持' ], 'pros': [ '最大研究员社区', '成熟平台', '良好声誉' ], 'cons': [ '费用较高', '竞争激烈', '响应可能慢' ] } def evaluate_bugcrowd(self, requirements): """评估 Bugcrowd""" return { 'program_count': 1000+, 'average_bounty': 3000, 'platform_fee': '5-15%', 'features': [ '优先级系统', '快速响应', '多种计划类型', '研究员工具' ], 'pros': [ '响应快', '灵活', '适合初创' ], 'cons': [ '研究员较少', '功能较少' ] } def evaluate_synack(self, requirements): """评估 Synack""" return { 'program_count': 100+, 'average_bounty': 10000, 'platform_fee': '较高', 'features': [ '精英研究员', '严格筛选', '高报酬', '专业服务' ], 'pros': [ '高质量报告', '专业研究员', '深度测试' ], 'cons': [ '费用高', '研究员少', '门槛高' ] } def evaluate_custom_platform(self, requirements): """评估自有平台""" return { 'program_count': 1, 'average_bounty': '自定义', 'platform_fee': '无 (但有运营成本)', 'features': [ '完全控制', '品牌展示', '直接沟通' ], 'pros': [ '无平台费用', '完全定制', '直接关系' ], 'cons': [ '运营成本高', '需要专业团队', '研究员获取难' ] } def calculate_score(self, evaluation, requirements): """计算评分""" score = 0 # 基于预算 if requirements.get('budget') == 'high': score += evaluation.get('average_bounty', 0) / 1000 else: score -= evaluation.get('platform_fee', 0) # 基于安全成熟度 if requirements.get('security_maturity') == 'high': score += len(evaluation.get('features', [])) # 基于团队规模 if requirements.get('team_size', 0) < 5: # 小团队需要更多平台支持 if 'managed' in str(evaluation.get('features', [])): score += 10 return score ``` --- ## 漏洞提交流程 ### 提交流程 > ▎ 提交不是随便报,是规范报。报告不规范,审核就是缓慢的。 **提交流程**: ```python # 漏洞提交流程 class VulnerabilitySubmission: """漏洞提交流程""" # 提交步骤 steps = { 'discovery': { 'name': '发现漏洞', 'activities': [ '确认漏洞真实性', '记录详细信息', '收集证据' ], 'outputs': ['漏洞笔记', '截图', 'PoC'] }, 'report_preparation': { 'name': '报告准备', 'activities': [ '编写报告', '准备 PoC', '检查范围' ], 'outputs': ['漏洞报告', 'PoC 代码'] }, 'submission': { 'name': '提交报告', 'activities': [ '选择计划', '填写表格', '上传附件' ], 'outputs': ['提交确认'] }, 'triage': { 'name': '分类审核', 'activities': [ '平台初审', '厂商审核', '补充信息' ], 'outputs': ['审核结果'] }, 'resolution': { 'name': '解决', 'activities': [ '厂商修复', '验证修复', '发放赏金' ], 'outputs': ['赏金', '致谢'] } } def submit_vulnerability(self, vulnerability_info, program): """提交漏洞""" results = { 'vulnerability': vulnerability_info, 'program': program, 'steps': {}, 'status': 'pending' } # 发现阶段 discovery = self.discovery_phase(vulnerability_info) results['steps']['discovery'] = discovery # 报告准备 report = self.prepare_report(vulnerability_info) results['steps']['report_preparation'] = report # 提交 submission = self.submit_report(report, program) results['steps']['submission'] = submission # 等待审核 triage = self.wait_for_triage(submission) results['steps']['triage'] = triage if triage['accepted']: results['status'] = 'accepted' # 等待解决 resolution = self.wait_for_resolution(triage) results['steps']['resolution'] = resolution if resolution['rewarded']: results['status'] = 'completed' results['bounty'] = resolution['bounty_amount'] else: results['status'] = 'rejected' results['rejection_reason'] = triage.get('rejection_reason', '') return results def discovery_phase(self, vuln_info): """发现阶段""" return { 'confirmed': vuln_info.get('confirmed', False), 'evidence': vuln_info.get('evidence', []), 'poc_available': vuln_info.get('poc_available', False), 'impact_assessed': vuln_info.get('impact_assessed', False) } def prepare_report(self, vuln_info): """准备报告""" report = { 'title': vuln_info.get('title', ''), 'summary': vuln_info.get('summary', ''), 'description': vuln_info.get('description', ''), 'steps_to_reproduce': vuln_info.get('reproduction_steps', []), 'impact': vuln_info.get('impact', ''), 'remediation': vuln_info.get('remediation', ''), 'attachments': vuln_info.get('attachments', []), 'cvss_score': vuln_info.get('cvss_score', 0), 'cwe_id': vuln_info.get('cwe_id', '') } # 检查报告质量 quality = self.assess_report_quality(report) report['quality'] = quality return report def assess_report_quality(self, report): """评估报告质量""" score = 0 # 标题清晰 if report.get('title') and len(report['title']) > 10: score += 10 # 描述详细 if report.get('description') and len(report['description']) > 100: score += 20 # 复现步骤 if report.get('steps_to_reproduce') and len(report['steps_to_reproduce']) > 0: score += 30 # 影响说明 if report.get('impact') and len(report['impact']) > 50: score += 20 # 附件证据 if report.get('attachments') and len(report['attachments']) > 0: score += 20 return { 'score': score, 'rating': 'excellent' if score >= 80 else 'good' if score >= 60 else 'needs_improvement' } def submit_report(self, report, program): """提交报告""" # 检查是否在范围内 in_scope = self.check_in_scope(report, program) if not in_scope['in_scope']: return { 'status': 'out_of_scope', 'reason': in_scope['reason'] } # 检查重复 is_duplicate = self.check_duplicate(report, program) if is_duplicate: return { 'status': 'duplicate', 'reason': 'Similar report already exists' } # 提交 submission = { 'id': self.generate_submission_id(), 'date': self.get_current_date(), 'program': program, 'report': report, 'status': 'submitted' } return submission def check_in_scope(self, report, program): """检查是否在范围内""" # 检查目标是否在计划范围内 in_scope_targets = program.get('in_scope', []) out_of_scope_targets = program.get('out_of_scope', []) target = report.get('target', '') if target in out_of_scope_targets: return {'in_scope': False, 'reason': 'Target out of scope'} if target in in_scope_targets: return {'in_scope': True} # 默认不在范围 return {'in_scope': False, 'reason': 'Target not in scope'} def check_duplicate(self, report, program): """检查重复""" # 检查是否有类似报告 # 实际实现需要查询平台 return False # 示例 def wait_for_triage(self, submission): """等待审核""" # 模拟审核结果 triage_result = { 'accepted': True, 'triage_date': self.get_current_date(), 'triager': 'platform_triager', 'severity': 'high', 'bounty_range': '$1000-$5000' } return triage_result def wait_for_resolution(self, triage): """等待解决""" # 模拟解决结果 resolution = { 'fixed': True, 'fix_date': self.get_current_date(), 'rewarded': True, 'bounty_amount': 3000, 'hall_of_fame': True } return resolution def generate_submission_id(self): """生成提交 ID""" import uuid return str(uuid.uuid4())[:8] def get_current_date(self): """获取当前日期""" from datetime import datetime return datetime.now().strftime('%Y-%m-%d') ``` --- ## 报告编写技巧 ### 报告结构 > ▎ 报告不是随便写,是专业写。写作不专业,赏金就是减少的。 **报告模板**: ```markdown # 漏洞报告模板 ## 概要 - **漏洞类型**: [类型] - **严重程度**: [严重/高/中/低] - **CVSS 分数**: [X.X] - **目标**: [目标 URL/产品] ## 描述 [清晰描述漏洞,包括: - 漏洞是什么 - 在哪里发现 - 为什么是安全问题] ## 复现步骤 1. [步骤 1] 2. [步骤 2] 3. [步骤 3] ... ## 影响 [说明漏洞可能造成的影响: - 数据泄露 - 权限提升 - 代码执行 - 其他影响] ## PoC ```python # PoC 代码 # 或 # 请求/响应示例 ``` ## 修复建议 [提供修复建议: - 具体修复方法 - 代码示例 - 最佳实践] ## 参考 - [相关 CWE] - [相关 CVE] - [其他参考] ## 附件 - [截图] - [视频] - [其他证据] ``` ### 报告最佳实践 **编写指南**: ``` 报告最佳实践: 1. 标题 ✓ 清晰简洁 ✓ 包含漏洞类型 ✓ 包含目标 ✗ 避免夸张 2. 描述 ✓ 技术准确 ✓ 逻辑清晰 ✓ 包含上下文 ✗ 避免模糊 3. 复现步骤 ✓ 逐步详细 ✓ 可重复 ✓ 包含预期结果 ✗ 避免跳跃 4. 影响 ✓ 实际影响 ✓ 量化说明 ✓ 业务关联 ✗ 避免夸大 5. 证据 ✓ 截图清晰 ✓ 视频简短 ✓ 代码完整 ✗ 避免敏感数据 ``` --- ## 赏金谈判策略 ### 谈判技巧 > ▎ 谈判不是争价格,是讲价值。价值不讲清,赏金就是偏低的。 **谈判原则**: ```python # 赏金谈判 class BountyNegotiation: """赏金谈判策略""" principles = [ '基于影响谈判', '提供额外信息', '保持专业态度', '理解厂商立场', '知道何时让步' ] def negotiate_bounty(self, initial_offer, vulnerability_info): """谈判赏金""" # 评估漏洞价值 value = self.assess_vulnerability_value(vulnerability_info) # 确定谈判策略 if value['score'] >= 90: strategy = 'strong' elif value['score'] >= 70: strategy = 'moderate' else: strategy = 'accept' # 准备谈判材料 materials = self.prepare_negotiation_materials(vulnerability_info) # 发送谈判请求 response = self.send_negotiation_request(initial_offer, materials) return { 'initial_offer': initial_offer, 'counter_offer': response.get('counter_offer'), 'final_amount': response.get('final_amount'), 'strategy': strategy } def assess_vulnerability_value(self, vuln_info): """评估漏洞价值""" factors = { 'severity': vuln_info.get('cvss_score', 0), 'impact': vuln_info.get('business_impact', 'medium'), 'exploitability': vuln_info.get('exploitability', 'medium'), 'uniqueness': vuln_info.get('uniqueness', False), 'fix_complexity': vuln_info.get('fix_complexity', 'medium') } score = 0 # CVSS 分数 score += factors['severity'] * 10 # 业务影响 if factors['impact'] == 'high': score += 30 elif factors['impact'] == 'medium': score += 15 # 可利用性 if factors['exploitability'] == 'easy': score += 20 elif factors['exploitability'] == 'medium': score += 10 # 独特性 if factors['uniqueness']: score += 20 return { 'score': min(score, 100), 'recommended_bounty_range': self.get_bounty_range(score) } def get_bounty_range(self, score): """获取建议赏金范围""" if score >= 90: return '$5000-$15000' elif score >= 70: return '$2000-$5000' elif score >= 50: return '$500-$2000' else: return '$100-$500' def prepare_negotiation_materials(self, vuln_info): """准备谈判材料""" materials = { 'additional_impact': vuln_info.get('additional_impact', []), 'similar_cves': vuln_info.get('similar_cves', []), 'exploit_demo': vuln_info.get('exploit_demo', None), 'fix_suggestion': vuln_info.get('fix_suggestion', None) } return materials def send_negotiation_request(self, initial_offer, materials): """发送谈判请求""" # 模拟厂商响应 response = { 'counter_offer': initial_offer * 1.5, 'final_amount': initial_offer * 1.3, 'reason': 'Based on impact and program budget' } return response ``` --- ## 猎人成长路线 ### 成长阶段 > ▎ 成长不是速成,是积累。积累不扎实,成功就是偶然的。 **成长路线**: ``` 漏洞赏金猎人成长路线: 阶段 1: 入门 (0-6 个月) ├── 学习基础知识 ├── 从 VDP 开始 ├── 提交第一个漏洞 └── 目标:理解流程 阶段 2: 进阶 (6-18 个月) ├── 专注特定类型 ├── 提高报告质量 ├── 建立声誉 └── 目标:稳定收入 阶段 3: 专业 (18-36 个月) ├── 深度研究 ├── 发现高危漏洞 ├── 建立品牌 └── 目标:全职收入 阶段 4: 专家 (36+ 个月) ├── 0day 研究 ├── 工具开发 ├── 知识分享 └── 目标:行业影响 ``` **成功建议**: ``` 成功建议: 1. 学习路线 ├── Web 安全基础 ├── 常见漏洞类型 ├── 工具使用 └── 报告编写 2. 实践建议 ├── 从简单开始 ├── 专注特定领域 ├── 持续学习 └── 建立网络 3. 心态建议 ├── 接受拒绝 ├── 从失败学习 ├── 保持耐心 └── 享受过程 ``` --- ## 企业计划建设 ### 计划建设 > ▎ 计划不是随便建,是系统建。建设不系统,效果就是有限的。 **建设步骤**: ```python # 企业赏金计划建设 class EnterpriseBountyProgram: """企业赏金计划建设""" def build_program(self, organization_info): """建设赏金计划""" program = { 'name': organization_info.get('name', '') + ' Vulnerability Disclosure Program', 'type': self.determine_program_type(organization_info), 'scope': self.define_scope(organization_info), 'rewards': self.define_rewards(organization_info), 'rules': self.define_rules(organization_info), 'process': self.define_process(organization_info) } return program def determine_program_type(self, org_info): """确定计划类型""" if org_info.get('budget') == 'low': return 'vdp' elif org_info.get('security_maturity') == 'high': return 'public' else: return 'private' def define_scope(self, org_info): """定义范围""" return { 'in_scope': org_info.get('in_scope', []), 'out_of_scope': org_info.get('out_of_scope', []), 'targets': org_info.get('targets', []) } def define_rewards(self, org_info): """定义奖励""" return { 'critical': {'min': 5000, 'max': 15000}, 'high': {'min': 2000, 'max': 5000}, 'medium': {'min': 500, 'max': 2000}, 'low': {'min': 100, 'max': 500}, 'hall_of_fame': True, 'swag': True } def define_rules(self, org_info): """定义规则""" return { 'testing_rules': [ '仅在授权范围测试', '不造成服务中断', '不访问用户数据', '及时报告发现' ], 'disclosure_policy': '协调披露', 'response_time': '5 工作日初审' } def define_process(self, org_info): """定义流程""" return { 'submission': '通过平台提交', 'triage': '5 工作日内初审', 'resolution': '90 天修复期', 'disclosure': '修复后公开' } ``` --- 统计 **Sprint 交付 · 绩效评估** ``` ┌───────────────┬────────────────┬────────────────┐ │ 主动出击 │ ██████████ 5/5 │ [PUA 生效] 充足 │ ├───────────────┼────────────────┼────────────────┤ │ + 验证闭环 │ ██████████ 5/5 │ 案例完整 │ ├───────────────┼────────────────┼────────────────┤ │ 设计 代码质量 │ ██████████ 5/5 │ 生产就绪 │ └───────────────┴────────────────┴────────────────┘ 综合:4.5 ``` ▎ 这才配得上 P8。漏洞赏金不是赚钱工具,是安全生态。生态不健康,安全就是单向的。 --- ## 总结与思考 ### 核心要点回顾 > ▎ 复盘四步法:回顾目标、评估结果、分析原因、总结经验。别跳过——这是闭环。 **漏洞赏金框架**: ``` 1. 计划类型 - 公开计划 - 私有计划 - VDP 2. 平台选择 - HackerOne - Bugcrowd - 自有平台 3. 提交流程 - 发现漏洞 - 编写报告 - 提交审核 4. 成长路线 - 入门学习 - 进阶实践 - 专业发展 ``` **关键成功因素**: ``` 1. 对研究员 - 技术能力 - 报告质量 - 专业态度 2. 对厂商 - 计划设计 - 响应速度 - 公平对待 3. 对生态 - 负责任披露 - 知识分享 - 行业合作 ``` --- ## 参考资料 ### 平台资源 ``` - HackerOne https://hackerone.com/ - Bugcrowd https://bugcrowd.com/ - Synack https://www.synack.com/ ``` ### 学习资源 ``` - Bug Bounty Forum https://www.bugbountyforum.com/ - HackerOne Hacktivity https://hackerone.com/hacktivity - Bugcrowd University https://www.bugcrowd.com/resources/ ``` ### 书籍推荐 ``` - 《Bug Bounty Bootcamp》 - 《The Bug Bounty Hunter's Methodology》 - 《Web Security for Developers》 ``` --- **完成 漏洞与攻防系列 (Day 156-165) 完成!共 10 篇文章!** **统计 整体进度**: - 已完成:165 篇 / 365 篇 (45.2%) - 漏洞与攻防:10 篇 / 10 篇 (100%) + **资源 下一阶段**:合规与治理系列 (Day 166-175) > 本文内容仅供学习和研究使用,请勿用于非法目的。所有实验请在隔离环境中进行。 --- *本文是 365 天信息安全技术系列的第 165 篇,漏洞与攻防系列第 10 篇 (完结篇),精编版本* *漏洞与攻防系列全部完成!下一阶段:合规与治理系列!*
myh0st
2026年4月13日 23:17
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码