当前位置: > 财经>正文

教怎样写好一份“漏洞报告”

2023-07-15 00:33:18 互联网 未知 财经

教怎样写好一份“漏洞报告”

写好报告

漏洞赏金猎人的工作不仅仅是寻找漏洞;它还向组织的安全团队解释它们。如果您提供一份写得很好的报告,您将帮助与您合作的团队重现漏洞利用,将其分配给适当的内部工程团队,并更快地解决问题。

商业化的报告模板是一个不错的形式,但比它更出色的是,观察与思考。

从工作流程的角度来说,漏洞管理与账面核对也非常重要。一个组织如果长时间接收到报告,那么面临到的问题一定是一些个性化的。比如,漏洞管理过程中,命名的规范直接导致这个能否一眼看出是否重复提交,是否易于管理与记账,是否存在数据之间的关联与匹配性。

文档名称规范化: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 (使用上类似于sqlmap) 需要下载Ysoserial (https://github.com/frohoff/ysoserial/)测试时使用 JRE 11 TLS版本

2.漏洞利用(加截图) java -jar ysoserial.jar CommonsCollections1 calc.exe

3.修复建议 输入检查 白名单反序列化允许的类 防止篡改序列化 cookie,可以跟踪服务器上的会话状态 使用简单的数据类型,如字符串和数组,能不用序列化就别用 留意补丁并确保依赖项是最新的 owasp反序列化备忘单:https://cheatsheetseries.owasp.org/cheatsheets/Deserialization_Cheat_Sheet.html

第 3 步:包括严重性评估

您的报告还应包括对错误严重性的诚实评估。除了与您合作修复漏洞之外,安全团队还有其他职责需要处理。包括严重性评估将帮助他们优先修复哪些漏洞,并确保他们立即处理关键漏洞。

比如: 追加标题: 漏洞评级:严重 攻击者可以从外网任何一个地方,利用ysoserial.jar工具发起反序列化RCE攻击。

比如:追加标题: 漏洞评级:低危 攻击者需要配合钓鱼或者xss,才能结合CORS一起实施攻击。

如果您无法给出一个定论:可以参考其他评分组织。

在 https://www.first.org/cvss/ 研究通用漏洞评分系统 (CVSS),以大致了解每种类型的漏洞的重要性。 CVSS 等级考虑了诸如漏洞如何影响组织、漏洞利用的难度以及漏洞是否需要任何特殊权限或用户交互才能利用等因素。 然后,试着想象一下您的客户公司关心什么,以及哪些漏洞会对业务产生最大的影响。定制您的评估以适应客户的业务优先级。

例如,约会网站可能会发现一个错误,该错误将用户的出生日期暴露为无关紧要,因为用户的年龄已经是网站上的信息,而求职网站可能会发现类似的错误,因为申请人的年龄应该是机密的在求职过程中。另一方面,用户银行信息泄露几乎总是被认为是一个高严重性问题。如果您不确定您的漏洞属于哪个严重等级,请使用漏洞赏金平台的评级量表。例如,Bugcrowd 的评级系统考虑了漏洞的类型和受影响的功能(https://bugcrowd.com/vulnerability-rating-taxonomy/),而 HackerOne 提供了一个基于 CVSS 等级的严重性计算器(https:// docs.hackerone.com/hackers/severity.html)。

第 4 步:给出明确的重现步骤

包括您能想到的所有相关设置先决条件和详细信息。最好假设另一端的工程师不了解该漏洞,也不知道应用程序是如何工作的。例如,一份还可以的报告可能包括以下重现步骤:

1.登录该站点并访问 https://example.com/change_password。 2.单击更改密码按钮。 3.拦截请求,将user_id参数改成另一个用户的ID。

请注意,这些步骤并不全面或明确。他们没有指定您需要两个测试帐户来测试漏洞。他们还假设您对应用程序及其请求格式有足够的了解,无需

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。