写好报告
漏洞赏金猎人的工作不仅仅是寻找漏洞;它还向组织的安全团队解释它们。如果您提供一份写得很好的报告,您将帮助与您合作的团队重现漏洞利用,将其分配给适当的内部工程团队,并更快地解决问题。
商业化的报告模板是一个不错的形式,但比它更出色的是,观察与思考。
从工作流程的角度来说,漏洞管理与账面核对也非常重要。一个组织如果长时间接收到报告,那么面临到的问题一定是一些个性化的。比如,漏洞管理过程中,命名的规范直接导致这个能否一眼看出是否重复提交,是否易于管理与记账,是否存在数据之间的关联与匹配性。
文档名称规范化:XXX平台(hackerone)-XXXX编号。
文档名的规范化,保证组织与众测平台之间的唯一性,不会出现这个报告聊成了其他报告。
内容标题规范化:XXX项目或者应用-XXX部门或者元数据-XXX漏洞。
价值性于一份报告在手就能看清所有资产,极大的帮助组织推动报告的分发到负责人手中。
内容标题追加:XXXX编号
方便复制粘贴,不需要再关闭文档,然后右键文档复制编号记账。
您不必中规中矩的模仿任何报告,以下例子是给您一个良好的借鉴,因地制宜的修改自己报告。
【技术学习】
第 1 步:制作描述性标题
优秀漏洞报告的第一部分总是一个描述性的标题。目标是用一句话概括问题的标题。理想情况下,它应该允许安全团队立即了解漏洞是什么、发生的位置以及潜在的严重性。为此,它应该回答以下问题:您发现的漏洞是什么?它是否是众所周知的漏洞类型的实例,例如 IDOR 或 XSS?您在目标应用程序中的何处找到它?例如,而不是像“关键端点上的 IDOR”这样的报告标题,使用“https://example.com/change_password 上的 IDOR 导致所有用户的帐户接管”之类的。您的目标是让阅读您的报告的安全工程师对您将在其余部分讨论的内容有一个很好的了解。
漏洞内容标题追加:XSS漏洞,SQL注入,信息泄露或者IDOR等。
漏洞内容的核心价值观在于,组织易于复现与确认。能复现能观察就是说服组织接收最好的方式。
比如:1.目标URL,测试账号 张三/密码 2.点击UI界面的忘记密码 3.bp中发现未授权的API(并截图) 4.重放API发现信息泄露 5.建议:对API做验证和授权。
闭环了兄弟们,这个报告解决了组织从哪里开始复现,观察哪里,危害在哪,行云流水。
第 2 步:提供清晰报告摘要
此部分包含您无法在标题中传达的所有相关详细信息,例如用于攻击的 HTTP 请求参数、您如何找到它等。以下是有效报告摘要的示例:https://example.com/change_password 端点采用两个 POST 正文参数:user_id 和 new_password。对此端点的 POST 请求会将用户 user_id 的密码更改为 new_password。此端点不验证 user_id 参数,因此,任何用户都可以通过操作 user_id 参数来更改其他任何人的密码。一份好的报告摘要是清晰简洁的。它包含了解漏洞所需的所有信息,包括错误是什么、发现错误的位置以及攻击者在被利用时可以做什么。
并非每一个漏洞,组织都能成功的复现,比如IOS,安卓的证书绕过等,它们即有可能在您测试时,使用了一到两个实体机器,并root了一些权限。因此,报告中如果出现复现依赖与环境部署,是您独有的优势之一,为职业化,交互性,商业化,营销化,达不溜化建立了多个良好的发展之路。
漏洞内容的核心价值观在于,组织易于复现与确认。
考虑到组织接收人员的整个大背景,最好从实施开始描述。
比如: 漏洞内容标题:反序列化导致RCE漏洞
1.复现依赖:需要自动化利用工具Ysoserial (使用上类似于