渗透测试的步骤流程和方法,渗透测试流程包括
渗透测试遵循软件测试的基本流程,但由于其测试过程和目标的特殊性,渗透测试在具体实施步骤上不同于普通软件测试。渗透测试流程主要包括八个步骤,如下图所示:
下面参照上图描述每一步要完成的任务。
(1 )明确目标
测试人员在拿到需要渗透测试的项目时,首先确定测试需求,比如测试是针对业务逻辑漏洞还是人员管理权限漏洞。然后确定客户要求的渗透测试范围,如IP段、域名、全站渗透或部分模块渗透等。最后确定渗透测试规则,比如能渗透多远,是确定漏洞还是继续利用漏洞做进一步测试,是否允许销毁数据,是否能增强权限等。
在这个阶段,测试人员主要是对测试项目有一个清晰的整体认识,便于测试计划的制定。
(2)收集信息
在信息收集阶段,尽量收集项目软件的各种信息。例如,对于一个Web应用,需要收集项目中使用的脚本类型、服务器类型、数据库类型以及框架和开源软件。信息收集对于渗透测试非常重要。只有掌握了足够多的目标程序的信息,才能更好的检测漏洞。
有两种收集信息的方法。
主动收集:通过直接访问、扫描网站等方式收集所需信息。这样,你就可以收集信件了。
更多的信息,但是访问者的操作行为会被目标主机记录下来。
被动收集:利用第三方服务了解目标,如上网搜索相关信息。以这种方式获得
信息相对较少,不够直接,但是目标主机不会发现测试人员的行为。
(3)扫描漏洞
在这个阶段,对收集到的信息进行综合分析,通过扫描工具对目标程序进行扫描,找出存在的安全漏洞。
(4)验证漏洞
在漏洞扫描阶段,测试人员会得到大量关于目标程序的安全漏洞,但是这些漏洞存在误报,因此测试人员需要结合实际情况搭建模拟测试环境来验证这些安全漏洞。可以利用已确认的安全漏洞来执行攻击。
(5)分析信息
已经验证的安全漏洞可以用来攻击目标程序,但是不同的安全漏洞有不同的攻击机制。对于不同的安全漏洞,还需要进一步分析,包括安全漏洞的原理、可用工具、目标程序检测机制、攻击能否绕过防火墙等。并能制定出详细精确的攻击计划,保证测试的顺利实施。
(6)渗透攻击
渗透就是对目标程序发起真正的攻击,以达到测试目的,比如获取用户账号密码,拦截目标程序传输的数据,控制目标主机等。一般渗透测试是一次性测试。攻击完成后,需要清理、删除系统日志、程序日志等。并抹去人进入系统的痕迹。
(7)整理信息
渗透攻击完成后,整理攻击获得的信息,为后面写测试报告提供依据。
(8)编写测试报告
测试完成后,应准备测试报告,陈述项目安全测试目标、信息收集方法、漏洞扫描工具、漏洞情况、攻击计划、实际攻击结果、测试过程中遇到的问题等。此外,应分析目标程序的漏洞,以提供安全有效的解决方案。
最后送你一句话:世界取决于你盯着它的方式,你自己的价值取决于你的追求和心态。所有美好的愿望都不是等待,而是争取。
我是一个职场的考妹!刚做完测试教程我就来分享一下。如果对python自动化测试、web自动化、界面自动化、移动自动化、面试经验交流等感兴趣。可以微信搜索微信官方账号:【伤心辣吧】,自行获取软件测试工程师视频教程和大昌面试文档~
我的学习交流群:902061117 群里有技术zxdy一起交流分享~