本文目录一览:
什么是渗透测试?如何做渗透测试?
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试一定要遵循软件测试基本流程,要知道测试过程和目标特殊,在具体实施步骤上主要包含以下几步:
1、明确目标
当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如ip段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据、是否能够提升权限等。
2、收集信息
在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能更好地进行漏洞检测。
信息收集的方式可分为以下2种:主动收集、被动收集。
3、扫描漏洞
在这个阶段,综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞。
4、验证漏洞
在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。
5、分析信息
经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制不同,针对不同的安全漏洞需要进一步分析,制定一个详细的攻击计划,这样才能保证测试顺利执行。
6、渗透攻击
渗透攻击实际是对目标程序进行的真正攻击,为了达到测试的目的,像是获取用户账号密码、截取目标程序传输数据等。渗透测试是一次性测试,在攻击完成后能够执行清理工作。
7、整理信息
渗透攻击完成后,整理攻击所获得的信息,为后边编写测试报告提供依据。
8、编写报告
测试完成之后要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。
软件测试和渗透测试的区别是什么?
软件渗透测试属于软件安全性测试的一种,软件安全测试属于软件测试里面的一种。软件测试是一个大的范围,相对于软件开发的。
请问软件测试和渗透测试的区别是什么?
软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。软件测试的目的是为了检验软件系统是否满足需求。
渗透测试考虑的是以黑客方法,从单点上找到利用途径,证明你有问题,帮助客户提高认识,也能解决急迫的一些问题。
软件测试和渗透测试有什么区别?
首先,测试对象不同
软件测试测试对象主要是程序、数据或文档;渗透测试的测试对象主要为网络设备、主机操作系统、数据库系统和应用系统。
其次,测试内容不同
软件测试主要工作内容是验证和确认,发现软件中的缺陷或者不足,然后把发现的问题整理成报告并分析出软件质量的好坏。
渗透测试主要包括:黑盒测试、白盒测试和灰盒测试。主要做的工作有:
信息收集、端口扫描、权限提升、远程溢出攻击、WEB应用测试、SQL注入攻击、检测页面隐藏字段、跨站攻击、Cookie利用、后门程序检查、第三方软件误配置等等
最后,测试原则不同:
软件测试原则:测试应该尽早进行;软件测试应该由第三方来负责;设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件;应该充分注意测试中的群集现象;对错误结果要进行一个确认过程;制定严格的测试计划;妥善保存测试计划、测试用例、出错统计和最终分析报告。
渗透测试原则:测试验证时间放在业务量最小的时间进行;测试执行前确保相关数据进行备份;所有测试在执行前和维护人员进行沟通确认;在测试过程中出现异常情况时立即停止测试并及时恢复系统;对原始业务系统进行一个完全的镜像环境,在镜像环境上进行渗透性测试。