渗透测试流程

1、介绍

渗透测试,既可以说是学习和梳理知识的框架,也可以说是实际测试的标准流程。

2、过程

2.1 确定目标

  • 具体来说,就是确定向管理者拿到测试授权和测试范围(组织名称、域名、ip、端口、接口等)。
  • 不确定目标,即不确定边界,那么意味着无限的延伸,这是不现实的。
  • 确定边界之后,同时确定资产所属。从技术上来说,一方面边界可能被其它人忽略而捡漏,另一方面可以在有限范围内进行深入测试。从结果上来说,测试工作可以提交和拿到报酬

2.2 收集信息

在前一步基础上,通过一定的技术去收集目标的信息。

  • 基于特定站点搜索信息,gitee/github、博客园/csdn、站长之家
  • 基于浏览器直接访问目标网站
  • 扫描目标主机

2.3 测试

(1)测试流程一般是先测试目标的网络安全(dns、路由、外围的堡垒机等)、主机系统、端口服务、网站整体,最后才是各功能模块

(2)功能模块一般是按照顺序测试,登录/注册模块、前台模块、个人后台模块、以及管理者后台模块。

2.4 利用&提权、拓展

白帽子渗透测试不提倡实际的漏洞利用,了解和掌握即可。

另一方面,单一的漏洞可能危害有限,可以尝试对其进行提权或者漏洞组合、拓展利用。

2.5 后门

2.6 清扫痕迹

2.7 报告及梳理

3、常用流程

以上过程是标准的阐述,但是在实际中更倾向于以下流程:

(1)对某个网站进行信息收集和测试

  • 这里网站针对的是单个服务器容器
  • 区别于网站内功能模块测试,网站级别的测试可以一次测试,快速的进行自动化测试
  • 网站级别的信息收集,主要包括编程语言、服务器容器名称和版本等,为网站内测试提供一定支持,比如文件上传与中间件
  • 网站级别的漏洞,主要包括服务器容器漏洞、cms漏洞、信息泄露漏洞等。具有测试方便、存在可能性高、利用价值高等特点

(2)对网站内各功能模块进行测试

(3)进一步收集信息,以支持站内测试。另一方面,拓展测试目标,重复(1)(2)(3)

posted @ 2023-10-20 16:31  挖洞404  阅读(21)  评论(0编辑  收藏  举报