

技术交流是信息安全行业的核心。 毕竟,当进行渗透测试时,渗透测试报告往往不是最终的单个交付品:简要说明已识别的漏洞及其对组织造成的风险的文档。
对于刚起步的人来说,编写出色的渗透测试报告可能是一项艰巨的任务。
渗透测试本质上是技术性的。 尽管一些测试人员在后来的生活中扮演角色(从其他工作和行业中获得经验),但仍有许多人在职业生涯的早期就成为测试人员。 因此,他们通常没有丰富的专业写作经验,并且难以撰写连贯且有价值的报告。
然而,令人高兴的事实是,报告并不难! 下面,我概述了编写无痛报告的步骤,这些报告对您的客户很有价值。
您已经找到一个漏洞,进行了尝试,并发现了可以利用它的所有方式。 肾上腺素激增,已根据您的风险矩阵对漏洞进行了评估,您已准备好让您的客户知道问题是什么以及如何解决。


在将笔放在纸上(或手指在键盘上)之前,请停止考虑观众的身份。 问自己一个问题,“我是为谁写这份报告的?”
观众也许是一个没有很多信息安全经验的单人IT团队,或者它是一个拥有多年经验的大中型组织中的专门安全团队。 是没有很多技术背景的C级主管或项目经理,还是完全没有其他人?
识别您的受众并了解您的写作对象将有助于您确定报告的构成范围,并告诉您需要涉及多少技术细节。 在撰写报告的每个阶段,您都可以问自己,我写的内容与听众有关系吗? 太明显了吗? 太复杂了吗? 就是这样吗
接下来,您需要计划要包含的报告内容。 以我的经验,一个伟大的发现包括以下要素:
- 概述:仅需一句话的概括性结论,足以激起读者的兴趣,但又不会过多介绍,
- 技术背景:简短的段落说明了漏洞本身。 根据您的受众,这可能包括对受影响的基础技术的描述,
- 攻击路径:简短的几段说明了如何利用此漏洞,其中包括对客户端造成的风险的说明(使用可能的示例!),
- 示例或概念证明:此示例的利用或可重复的步骤(取决于是否可以轻松利用此漏洞),
- 受影响的系统或区域
- 修复步骤:有关如何修复漏洞的建议,以及
- 参考和更多信息的链接。
! 这看起来可能很多,但是有了这个公式,您就可以成功。
我们快完成了。 剩下的就是看这个动作了。
我在下面提供了一个示例查找结果,并分为上面的标题。 请记住,您可以根据自己的意愿来组织发现的结果!
漏洞:反映的跨站点脚本
受众:一组Web开发人员
总览
在Web应用程序中发现了Reflected Cross-Site Scripting(XSS)的实例。
技术背景
反映的XSS是从客户端的HTTP请求复制提交到Web应用程序的JavaScript代码并将其回显到应用程序的响应时出现的漏洞。 结果,代码将在用户的浏览器中以及该用户与应用程序的会话的上下文中运行。
攻击路径
恶意行为者可以利用此漏洞来构建请求,当该请求在用户的浏览器中运行时,将执行有害于用户的恶意操作。
作为更广泛的社会工程或网络钓鱼活动的一部分,可以诱使用户发出参与者的恶意请求。 例如,参与者可以向用户发送电子邮件或实例消息,其中包含指向包含恶意代码的Web应用程序的链接。
例如,这可能导致用户的浏览器运行JavaScript代码,并弹出一个对话框,使其看起来好像用户需要再次登录该应用程序。 实际上,此对话框将由恶意行为者控制,并且在提交后会将用户名和密码发送给该行为者。
概念证明
下面的链接在’query’参数中包含JavaScript有效负载 alert(’XSS’) 。
- https://www.example.com/search.php?query= alert(’XSS’)
当加载到浏览器中时,以上负载将按原样包含在页面中,并显示一个警告框:


受影响地区
以下页面上的GET参数“ query”会受到影响:
- https://www.example.com/search.php
修复步骤
要修复此漏洞,应在将用户数据复制到应用程序的响应的任何位置进行HTML编码。 例如,字符,“和”应替换为其相应的HTML实体(<,>等)。
参考和更多信息的链接
- OWASP:跨站点脚本-https://www.owasp.org/index.php/跨站点脚本(_XSS)
这些提示和技巧将帮助您继续撰写出色的发现:
- 听众:永远记得问自己要写谁。
- 保存以备后用:请确保保留发现内容的经过清理的副本,以便下次出现时,您不必从头开始重写它。
- 迭代器是赢家:第一次尝试并没有使其绝对完美,而是迭代并改进您上次编写的内容。
- 睡一会儿:如果您想不出要写什么,就把它留下来,以后再回来—作家的障碍总是随着时间而过去的。
在这里,只需几个简单的步骤,您就掌握了如何编写出色的报告结果。 是时候小睡了!

