一份标准的渗透测试报告是什么样的?(附报告模板)
Posted 汇智知了堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一份标准的渗透测试报告是什么样的?(附报告模板)相关的知识,希望对你有一定的参考价值。
一个完整的渗透测试工作流程中,实际有近一半时间都用在如何编写报告上,渗透测试工程师的工作,不仅需要具备高超的渗透测试水平,同样也需要把一个深奥的技术点解释的通俗易懂,即使是完全不懂安全的人也可以理解。
那么,一份标准的渗透测试报告究竟是什么样的呢?本期,跟随知了姐一起学习渗透测试报告的相关知识吧~
01
渗透测试报告的重要性
渗透测试是一个科学的过程,像所有科学流程一样,应该是独立可重复的。当客户不满意测试结果时,他有权要求另外一名测试人员进行复现,此时如果你的报告没有详细说明结论的话,第二个测试人员将会不知从何入手,得出的结论也极有可能不一样,甚至遗漏相关漏洞。
举个例子:
模糊不清的描述:“我使用端口扫描器检测到了一个开放的TCP端口。“
清晰明了的描述:“我使用Nmap 5.50,对一段端口进行SYN扫描,发现了一个开放的TCP端口。
命令是:nmap –sS –p 7000-8000“
报告是实实在在的测试过程的输出,且是真实测试结果的证据,对客户而言他们可能对报告的内容没什么兴趣,但这份报告是他们唯一一份证明测试费用的证据。
02
如何准备好渗透测试记录?
第一步
准备好渗透测试记录
测试记录是执行过程的日志,在每日测试工作结束后,应将当日的成果做成记录,虽然内容不必太过细致,但测试的重点必须记录在案:
·拟检测的项目
·使用的工具或方法
·检测过程描述
·检测结果说明
·过程的重点截图(有结果的画面)
第二步
撰写渗透测试报告书
报告书是整个测试测试操作结果的汇总,大概会以下列大纲撰写:
前言:说明执行测试的目的
声明:依照渗透测试同意书协商事项,列举于此,通常作为乙方的免责声明。
摘要:将本次渗透测试所发现的弱点及漏洞做一个汇总性的说明,如果系统有良好的防护机制,亦可书写于此,提供给甲方的其他网站系统作为管理参考。
执行方式:“大致”说明测试的方法论、测试的方法、执行时间以及测试的评定方式,评定方式是双方约定的条件为准,例如:发现中高风险项目、能提权成功、能完成插旗(即在目标网站中上传指定的文件或修改网页内容)、中断系统服务……
执行过程说明:依照双方议定的项目,说明测试“结果”,不论可以渗透成功或无法成功,都应说明执行的程序。
标注“详细执行步骤,如《渗透测试记录表》”,以便渗透测试记录表引入报告书中,并列出本次操作对风险高低的评定说明,例如:测试完成后,乙方人员针对所有测试目标评定其风险等级,以该测试目标所造成的冲击程度及发生的可能性作为因子,相乘得出风险等级,评定如下:
发现事项与建议改善说明:这是整份报告书中最重要的部分,任何渗透测试都必须提供客户防护或弱点修正建议,其实只要能界定弱点的类型即可,因为防护建议内容通过搜索都可查到,所以本节最好能详细说明建议内容,以提高客户的满意度。
附件或参考文件(如无,可以省略):有些公司会将小组成员的资历列在此处,以供甲方参考。
第三步
撰写报告的注意事项有哪些?
测试记录是执行过程的日志,在每日测试工作结束后,应将当日的成果做成记录,虽然内容不必太过细致,但测试的重点必须记录在案:
一份好的报告可以为测试操作加分,一份不好的报告会毁了测试人员的努力,所以撰写渗透测试报告不可太随便,以下提供三个撰写要领,以供参考:
①重点漏洞要用直白的话写,让主管一目了然,翻开报告书就能够感受到渗透测试的价值
②撰写针对漏洞的修补建议时,最好言之有物,并附上修补范例
③图表重于文字,重点位置量附图佐证,数据对比或汇总,避免抓不到重点
④测试结果、弱点、漏洞务必要提出来,并给予修正建议
30多份软件测试报告模板(标准版)!一份优秀测试报告模板流程
相信很多做软件测试的小伙伴在软件测试后期,都为软件测试报告总结花费了很多的精力,那么如何做好软件测试报告呢?一份优秀的测试报告又包含哪些内容呢?
测试报告的核心要素
一、测试结论
从测试工程师的专业角度分析,是否达到发布标准,是否可发布 。如果你的测试报告,结论都没有,那这份报告的意义是什么?
二、风险
已知风险 & 未知风险 ,抛出。项目经理、产品经理等多部门,需要根据这份风险分析,确定最终这个版本是否发布出去。
三、测试时间 & 测试人员
这是非常重要的,投入了哪些人,用了多少时间,测试起止时间。
四、测试环境、测试设备
用到哪些测试手机,什么客户端环境,什么浏览器等等。
五、需求大纲
当前的这个版本,到底包含了哪些大的需求点。
六、Bug数据分析(非常重要的一点)
可以从多个维度分析, 比如,Bug等级分布,遗留Bug分析,Bug类型分布,模块Bug分布,Bug激活次数分析 等等(具体可根据公司实际情况,进行多维度分析)。
七、测试总结
从测试角度,对这个版本,你觉得存在的一些问题,一些建议,等等。
下面的我搜集的一些测试报告模板,需要完整版的可以关注我公众号【伤心的辣条】获取~
测试报告模板
一、XXX系统产品安全测试报告
1. 介绍
1.1 编写目的
本报告为XXX系统产品的安全测试报告,目的在考察软件安全性、测试结论以及测试建议。
2. 测试概要
2.1 测试方法和测试工具
本次安全测试,主要使用了账号安全管理、权限管理、安全日志、访问控制安全、输入安全、缓冲区溢出、SQL注入、跨站脚本攻击等安全测试方案。
针对以上提供的测试方案进行对应测试用例以及测试脚本编写,并使用APPScan作为安全测试工具。
2.1.1 账号安全管理
1、 账号的惟一性:系统中账号名称具有惟一性
(1) 普通用户、工程师、管理员具有惟一性;
(2) 是否有可能绕过系统的账号惟一性校验
2、 账号不能写死在代码中,须提供可管理机制
2.1.2 权限管理
-
采用基于角色的账号权限管理模型
-
授权和用户角色数据存放在服务器端
2.1.3 安全日志
-
对安全事件以及操作事件记录日志
-
检查系统是否对以上所以操作记录相应日志记录,包括用户ID、用户IP、时间、事件类型、操作来源(APP、网页)等;
2.1.4 访问控制安全
需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址;
2.1.1 输入安全
XXX系统系统主要对没有被验证的输入进行如下测试:
数据类型(字符串、整形、实数等)允许的字符集、最小和最大的长度、是否允许空输入、参数是否为必须、是否允许重复、数值范围、特定的值(枚举型)特定的模式(正则表达式)等;
2.1.2 缓冲区溢出
没有加密关键数据:
例:view-source:http地址可以查看源代码
在页面输入密码,页面显示为加密字符****,右键鼠标,查看源文件就可以看到刚刚输入的密码。
2.1.3 SQL注入
例:一个验证用户登录的页面
如果使用的sql语句为:
Select * from A where username=’ ’ + username+’ ’ and password……
SQL输入or 1=1——就可以不输入任何password进行攻击,或者是半角状态下的用户名与密码均为:‘or’‘=’。
2.1.4 跨站点脚本攻击
分析:攻击者使用跨站脚本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资
料。
2.1.1 测试工具
3. 测试组织
3.1 测试人员
4. 测试结果及缺陷分析
4.1 遗留缺陷列表
5. 测试结论
1) 本次测试覆盖全面,测试数据基础合理,测试有效。
2) SQL注入测试,已执行测试用例,问题回归后测试通过。
3) 跨站点脚本测试,测试发现已对相关特殊字符进行转义,测试通过。
4) 权限测试,已严格对相关角色进行权限控制,测试通过。
综合以上结论得出本次安全测试通过。
6. 测试建议
在系统研发时便需要逐步对相关字符进行转义,可列成安全文档,定义如何防范各种安全漏洞,以便在开发项目阶段直接杜绝问题。
测试模板太多,就不一一列举了,需要完整版本的记得转,发并S我噢~
最后:如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进到 902061117,群内会有不定期的分享测试资料。
如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。
好文推荐
2021软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!
以上是关于一份标准的渗透测试报告是什么样的?(附报告模板)的主要内容,如果未能解决你的问题,请参考以下文章