网络安全是怎样炼成的.7——漏洞报告


文档名称规范化:XXX平台(hackerone)-XXXX编号。

内容标题规范化:XXX项目或者应用-XXX部门或者元数据-XXX漏洞。

内容标题追加:XXXX编号。


第一步:提供清晰报告摘要制作描述性标题

优秀漏洞报告的第一部分总是一个描述性的标题。

用一句话概括问题的标题。理想情况下,它应该允许安全团队立即了解漏洞是什么、发生的位置以及潜在的严重性。

应该回答以下问题:您发现的漏洞是什么?它是否是众所周知的漏洞类型的实例,例如 IDOR 或 XSS?您在目标应用程序中的何处找到它?

比如:漏洞内容标题:反序列化导致RCE漏洞

第二步:提供清晰报告摘要

此部分包含您无法在标题中传达的所有相关详细信息,例如用于攻击的 HTTP 请求参数、您如何找到它等。3

一份好的报告摘要是清晰简洁的。它包含了解漏洞所需的所有信息,包括错误是什么、发现错误的位置以及攻击者在被利用时可以做什么。

比如
1.复现依赖:需要自动化利用工具Ysoserial (使用上类似于sqlmap)
需要下载Ysoserial (https://github.com/frohoff/ysoserial/)测试时使用 JRE 11 TLS版本

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

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

第三步:包括严重性评估

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

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

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

包括您能想到的所有相关设置先决条件和详细信息。
比如,一份还可以的报告可能包括以下重现步骤:
1.在 example.com 上创建两个帐户:帐户 A 和帐户 B。
2.以A账号登录example.com,访问https://example.com/更改密码。
3.在位于页面左上角的新密码字段中填写所需的新密码。
4.单击位于页面右上角的更改密码按钮。(UI位置截图)
5.拦截发往https://example.com/change_password的POST请求,将user_id POST参数修改为账号B的用户ID。
6.您现在可以使用您选择的新密码登录帐户 B。

第五步:提供概念证明

对于简单的漏洞,您提供的步骤可能就是安全团队重现问题所需的全部步骤。

但是对于更复杂的漏洞,包含记录您的漏洞利用的视频、屏幕截图或照片会很有帮助,称为概念验证 (POC) 文件。

第六步:描述影响和攻击场景

说明漏洞可能被利用的合理场景。
示例
使用此漏洞,攻击者更改用户密码所需的只是他们的 user_id。由于每个用户的公开个人资料页面都列出了帐户的 user_id,因此任何人都可以访问任何用户的个人资料,找到他们的 user_id 并更改他们的密码。而且因为 user_ids 只是序列号,黑客甚至可以枚举所有 user_ids 并更改所有用户的密码!这个漏洞可以让攻击者以最小的努力接管任何人的帐户。

第七步:推荐可能的缓解措施

推荐安全团队采取的缓解漏洞的可能步骤。
例如:应用程序应在更改密码请求中验证用户的 user_id 参数,以确保用户有权进行帐户修改。应用程序应拒绝并记录未经授权的请求。

第八步:验证报告

全局检查报告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值