渗透测试基础概念与 HTTP 协议安全分析
1. 渗透测试的概念
渗透测试(Penetration Test)并没有一个绝对标准的定义,但业界普遍共识是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析。这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
换句话来说,渗透测试是指安全人员在不同的位置(比如从内网、从外网等位置),利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题,从而进行修复和加固。
渗透测试的基本流程
一个标准的渗透测试通常包含以下几个阶段:
- 信息收集:收集目标系统的相关信息,如域名、IP 地址、端口、操作系统、中间件版本等。
- 扫描探测:使用工具对目标系统进行漏洞扫描,识别潜在的安全弱点。
- 获取访问权限:利用发现的漏洞尝试获取系统的访问权限。
- 维持访问权限:在获得权限后,安装后门或其他工具以确保后续能够再次访问。
- 清除痕迹:删除日志、清理临时文件,避免被管理员发现。
- 报告编写:总结发现的问题、风险等级及修复建议。
2. 安全术语介绍
在网络安全领域,存在一些特定的术语,理解这些术语对于掌握渗透测试至关重要:
- 脚本语言:常见的 Web 后端脚本包括 ASP、PHP、JSP 等,它们常被用于构建动态网站,也是漏洞的高发区。
- 前端技术:HTML、CSS、JavaScript 构成了网页的前端展示层,XSS 等漏洞常发生于此。
- HTTP 协议:Web 通信的基础协议,涉及请求与响应的交互。
- CMS 内容管理系统:基于 B/S 架构的内容管理系统(如 WordPress, Joomla 等),常因插件或配置不当产生漏洞。
- MD5/加盐(salt):密码存储方式。MD5 是一种哈希算法,加盐是为了防止彩虹表攻击,提高安全性。
- 肉鸡、抓鸡:指被黑客控制并用于发动攻击的计算机;DDOS(分布式拒绝服务)和 CC(Challenge Collapsar)是常见的攻击方式,旨在耗费服务器资源使其无法响应正常请求。
- Webshell:一种上传到服务器的脚本文件,允许攻击者通过 Web 界面执行命令。分为一句话木马(小马)、功能强大的大马。
- 提权、后门、跳板:提权指获取更高权限;后门是预留的隐蔽访问通道;跳板用于隐藏真实攻击源。
- Rookit:一种高级 Rootkit,通常驻留在内核中,难以检测。
- 源码打包、脱裤、暴库:指源代码泄露、数据库结构泄露等严重安全事件。
- 嗅探、社工:嗅探指截获网络数据包;社工(社会工程学)指通过心理操纵获取敏感信息。
- POC、EXP、CVE:POC(Proof of Concept)是概念验证代码;EXP(Exploit)是利用代码;CVE(Common Vulnerabilities and Exposures)是公共漏洞披露编号。
- SRC 平台、0day:SRC(Security Response Center)是企业的安全应急响应中心;0day 指尚未公开且无补丁的漏洞。
- 事件型漏洞,通用型漏洞:事件型漏洞针对特定场景,通用型漏洞广泛存在于各类系统中。
- Web 服务器、Web 容器、中间件:如 Nginx, Apache, Tomcat 等,负责处理 Web 请求的软件组件。
3. HTTP 协议讲解
概述
超文本传输协议(HTTP,HyperText Transfer Protocol)是一种详细规定了浏览器和万维网服务器之间互相通信的规则。它是万维网交换信息的基础,允许将 HTML 文档从 Web 服务器传送到 Web 浏览器。


