当前位置: 首页 > news >正文

【5.20】五、安全测试——渗透测试

目录

5.3 渗透测试

5.3.1 什么是渗透测试

5.3.2 渗透测试的流程


5.3 渗透测试

5.3.1 什么是渗透测试

渗透测试是利用模拟黑客攻击的方式,评估计算机网络系统安全性能的一种方法。这个过程是站在攻击者角度对系统的任何弱点、技术缺陷或漏洞进行主动分析,并且有条件地主动利用安全漏洞。

根据实际应用,普遍认为渗透测试分为黑盒测试、白盒测试2类,其中黑盒测试中,渗透者完全处于对系统一无所知的状态,而白盒测试则恰恰相反,渗透者在完全了解程序结构的情况下进行测试

  • (1)渗透测试是一个渐进的并且逐步深入的过程。
  • (2)渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

5.3.2 渗透测试的流程

(1)明确目标

当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如IP段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据,是否能够提升权限等。

(2)收集信息

在信息收集阶段要尽量收集关于项目软件的各种信息。例如,对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只有掌握目标程序足够多的信息,才能更好地进行漏洞检测

  • ① 主动收集:通过直接访问、扫描网站等方式收集想要的信息,这种方式可以收集的信息比较多,但是访问者的操作行为会被目标主机记录。
  • ② 被动收集:利用第三方服务对目标进行了解,如上网搜索相关信息。这种方式获取的信息相对较少且不够直接,但目标主机不会发现测试人员的行为。

(3)扫描漏洞

综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞

(4)验证漏洞

在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。

(5)分析信息

经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制并不相同,针对不同的安全漏洞需要进一步分析,包括安全漏洞原理、可利用的工具、目标程序检测机制、攻击是否可以绕过防火墙等,制订一个详细精密的攻击计划,这样才能保证测试顺利执行。

(6)渗透攻击

渗透攻击就是对目标程序发起真正的攻击,达到测试目的,如获取用户账号密码、截取目标程序传输的数据、控制目标主机等。一般渗透测试是一次性测试,攻击完成之后要执行清理工作,删除系统日志、程序日志等,擦除进入系统的痕迹。

(7)整理信息

渗透攻击完成之后,整理攻击所获得的信息,为后面编写测试报告提供依据。

(8)编写测试报告

测试完成之后要编写测试报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果、测试过程中遇到的问题等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。

http://www.lryc.cn/news/69303.html

相关文章:

  • java版鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统源代码
  • 大语言模型架构设计
  • SpringBoot整合Swagger2,让接口文档管理变得更简单
  • socket | 网络套接字、网络字节序、sockaddr结构
  • golang-websocket
  • Nginx + fastCGI 实现动态网页部署
  • 精彩回顾 | Fortinet Accelerate 2023·中国区巡展厦门站
  • ChatGPT 和对话式 AI 的未来:2023 年的进展和应用
  • Nginx配置WebSocket(WS)和WebSocket Secure(WSS)的完整指南
  • 链表--part 1--链表基础理论(概括)
  • 【V2G】电动汽车接入电网优化调度研究(Matlab代码实现)
  • Excel中时间戳与标准日期格式的互相转换
  • 【Kafka集群】Kafka针对用户做ACL权限控制
  • 国内外数据安全治理框架介绍与分析
  • 【Nodejs】使用Nodejs搭建HTTP服务,并实现公网远程访问
  • 面试题之介绍自己测试的项目,担任的角色和做出的成果
  • HTB靶机012-Valentine-WP
  • 微信小程序nodejs+vue社区居民健康服务系统uniapp
  • 尝试探索水下目标检测,基于yolov5轻量级系列模型n/s/m开发构建海底生物检测系统
  • 大数据Doris(二十四):Doris数据Insert Into导入方式介绍
  • macOS Ventura 13.5beta (22G5027e)发布
  • 基于SpringBoot的财务管理系统的设计与实现
  • 使用OpenCV进行肺炎诊断检测
  • 北华大学第九届程序设计竞赛 题解
  • 【Java算法题】剑指offer_01数据结构
  • 最简单配置jenkins容器使用宿主机的docker方法
  • Android aidl及binder基础知识巩固
  • [日记]LeetCode算法·二十五——二叉树⑤ AVL树(插入+删除)附代码实现
  • flink-1.13.6 例子
  • Go语音基于zap的日志封装