前言:渗透测试就是通过先信息收集-漏洞探测-漏洞验证-形成报告(修复建议)-提交报告
1.渗透测试的定义
渗透测试是受信任的第三方通过模拟黑客可能使用的攻击手段对目标系统的安全性作出风险评估并针对目标系统所存在的风险给出安全修复建议的一个测试过程。
2.渗透测试的意义
通过渗透测试,可以使系统管理人员、系统开发人员及时了解到系统潜在的“安全危机”(薄弱点),并及时进行修复,加强系统的安全性,避免不必要的损失!
3.渗透测试的分类
渗透测试按测试方法与视角可以分为以下三类:
(1) 黑盒测试
定义:渗透测试人员除了知道被测试的目标之外,其余与目标相关的信息一无所知。
特点:这种类型的渗透测试属于外部渗透测试。在前期需要对目标进行大量的信息收集,耗时较长。但是这种类型的渗透测试更有利于挖掘出系统潜在的漏洞、以及脆弱环节、薄弱点等。
(2) 白盒测试
定义:渗透测试人员可以通过正常渠道向被测试单位取得各种资料,包括网络拓扑结构图、员工资料甚至网站程序的代码片段,也可以和单位其他员工进行面对面沟通。
特点:这种类型的渗透测试在前期已经对目标系统有了一个初步的了解。这类测试的地点可以分为“从组织内部”与“从组织外部”两种大环境。在这种测试下可以充分发挥“社会工程学的力量”,对企业内部雇员的越权操作进行测试。
(3) 灰盒测试
定义:灰盒测试介于白盒测试与黑盒测试之间
特点:属于较为隐秘的测试。在测试当中,被测试单位只有少数人知晓测试的存在,因此能够较好的检验单位中的信息安全事件监控、响应等是否到位。
渗透测试按照测试目标,可以分为以下四类:
(1) 操作系统渗透
Windows、Linux、Solaris、AIX、SCO等
(2) 数据库系统渗透
MySQL 、Oracle、MSSQL、sybase、informix
(3) 应用系统渗透
由ASP、JSP、PHP等组成的web应用(包括移动应用产品)
(4) 网络设备渗透
防火墙、入侵检测系统等
4.渗透测试的流程
明确目标 => 信息收集 => 漏洞探测 => 漏洞验证 => 编写报告 =>信息整理 => 获取所需 => 信息分析
5.渗透常用术语总结
http响应码:
200:客户端请求成功,最常见的状态;
302:重定向;
404:请求资源不存在,最常见状态;
400:客户端请求有语法错误,不能被服务器理解;
401:请求未经授权;
403:服务器收到请求,但是拒绝提供服务;
500:服务器内部错误,最常见的状态;
503:服务器当前不能处理客户端的请求,一段时间后可以恢复正常。
常见术语: 1、脚本(asp/php/hsp):
动态脚本 2、html (css/js/html):静态脚本
3、HTTP:超文本传输协议
4、CMS (B/S):内容管理系统
5、MD5:消息摘要算法
6、肉鸡、抓鸡、跳板
7、一句话木马、小马、大马、提权、后门
8、源码打包、脱裤
9、嗅探、rookit
10、exp:利用系统漏洞进行攻击的动作
11、poc:一段漏洞证明的代码