✨本篇定位:零基础入门渗透测试,搞懂概念、术语、标准流程、测试类型、报告编写,建立渗透整体认知。
💡学习目标:分清合法渗透与黑客攻击边界;掌握行业高频术语;熟悉PTES七步标准流程;区分黑/白/灰盒测试;看懂渗透测试报告规范。
前言
很多刚接触网络安全的小伙伴,会把渗透测试和黑客入侵混为一谈。渗透测试不等于黑客攻击,二者最核心分界线就是【书面授权】。
没有授权的攻击行为属于网络违法犯罪;拿到正式书面授权之后,模拟黑客攻击手段,主动挖掘系统漏洞,帮助企业提前修复风险,这才是白帽渗透测试。本篇带大家从零梳理渗透测试全套基础知识点,为后续实战打下理论根基。
一、什么是渗透测试
1.1 核心定义
在获得目标企业正式书面授权的前提下,模拟黑客攻击方式对业务系统开展安全测试,发现、验证系统安全弱点的过程。
通俗类比:请专业开锁师傅,在你允许的情况下,测试家里防盗门牢不牢固,找出门锁缺陷,提前加固,而不是偷偷撬门偷盗。
渗透测试四大核心原则:
| 原则 | 说明 |
|---|---|
| ✅授权 | 必须具备书面授权书,无授权=非法入侵,法律红线不可触碰 |
| ✅可控 | 明确测试IP、域名、时间窗口,不能破坏业务、禁止删除真实业务数据 |
| ✅真实 | 尽可能复刻真实黑客攻击手法,不是简单走形式扫描 |
| ✅报告 | 输出完整安全报告,包含漏洞描述、危害、可落地修复方案 |
1.2 为什么要做渗透测试?
核心价值:主动打断安全风险链条
- 先于黑客发现漏洞:在黑产攻击者动手之前,主动挖掘系统潜藏安全隐患,掌握安全主动权。
- 早于攻击完成修复:提前把风险处置完毕,避免真实入侵发生后,面对数据泄露、业务瘫痪、经济损失的被动局面。
1.3 合法白帽赚钱渠道:漏洞赏金平台
白帽黑客可以在厂商公开漏洞响应平台(SRC)提交挖掘到的漏洞,获得赏金,这是新手合法练手的途径。
| 平台 | 简介 |
|---|---|
| HackerOne | 国际最大漏洞赏金平台,谷歌、微软、特斯拉入驻,美元结算,部分顶级白帽累计奖金超百万美元 |
| 补天平台 | 国内老牌平台,CNVD背书,政企项目多,门槛低,适合新手入门积累经验 |
| 360SRC / 腾讯TSRC / 字节BSRC | 国内大厂官方安全响应中心,响应速度快,奖金丰厚,例如字节BSRC抖音高危漏洞最高20万/个 |
| 阿里先知 | 阿里官方平台,漏洞含金量高,赏金水平行业领先 |
真实案例:17岁高中生白帽,专注移动端漏洞挖掘,在阿里先知平台一年斩获奖金30w+,技术才是硬通货,年龄不是门槛。
二、渗透测试核心专业术语速查
新手最容易混淆POC / EXP / Payload,三者是递进关系:POC(概念验证)→ EXP(漏洞利用代码) → Payload(攻击载荷),伤害逐级递增。
| 术语 | 通俗详解 |
|---|---|
| 社工(社会工程学) | 不依靠技术漏洞,利用人性弱点实施攻击。例如伪装快递员骗取门禁权限、钓鱼邮件诱导用户泄露账号密码。 |
| 0day(零日漏洞) | 软件厂商还没有发布补丁的未知漏洞,危害极高,黑市价值昂贵。 |
| CVE编号 | 漏洞的全球统一身份证,例如CVE‑2026‑XXXX,用于公开记录、检索漏洞信息。 |
| POC 概念验证 | 仅仅用来证明漏洞客观存在,没有破坏性。好比拿一张纸片试门锁能不能捅开,只是证明锁有问题,不会把门彻底打开。日常测试优先只用POC验证漏洞。 |
| EXP漏洞利用代码 | 真正利用漏洞实现突破的代码/工具,相当于开锁钥匙,可以实际打开门锁,具备入侵能力。非授权场景严禁运行EXP。 |
| Payload攻击载荷 | 漏洞突破成功之后,在目标机器上执行的恶意指令代码。门打开之后,进门要做的事情。 |
| Shell | 拿到目标服务器的命令交互通道,可以执行系统命令,相当于拿到服务器遥控器。 |
| Webshell | 网页形式的Shell,上传脚本文件,通过浏览器就可以管理服务器。 |
| 肉鸡 | 被黑客入侵控制的普通终端电脑/服务器,被用来做跳板发起攻击。 |
⚠️实战提醒:日常漏洞验证只用POC,禁止随意运行EXP、Payload,防止破坏业务系统。
三、核心网络组件认知
Web系统主要由数据库、脚本语言、中间件三大部分组成,也是渗透测试的主要攻击面。
中间件通俗理解:充当用户请求与后端网站程序之间的翻译官兼中转站。所有用户访问网站的请求,全部经由中间件接收、翻译,转发给后端程序,再将处理结果返回给访问用户。一旦中间件存在漏洞或者配置出错,整个网站就可能被攻击者攻陷。
3.1 数据库:网站的数据仓库
数据库可以理解成超大Excel仓库,存放账号密码、订单、用户隐私等全部核心业务数据,一旦被黑客拿下,等同于仓库被洗劫。
| 数据库 | 特点 | 默认端口 | 常见风险漏洞 |
|---|---|---|---|
| MySQL | 开源免费,Web项目最流行关系型数据库 | 3306 | SQL注入、弱口令爆破 |
| SQL Server | 微软出品,Windows服务器标配数据库 | 1433 | SQL注入、SA管理员弱口令 |
| Oracle | 大型商业数据库,金融、政企核心系统首选 | 1521 | TNS远程溢出、SQL注入 |
| Redis | 高性能内存缓存数据库,读写速度极快 | 6379 | 高危未授权访问,可直接RCE远程代码执行 |
3.2 脚本语言:网站业务逻辑实现
脚本语言编写网站后台交互逻辑,如果代码缺少安全过滤,就会产生大量高危漏洞,是攻防主战场。
| 语言 | 特点 | 常见安全风险 |
|---|---|---|
| PHP | 入门简单,大量开源CMS基于PHP开发 | 文件上传、远程代码执行、SQL注入、弱类型漏洞 |
| Java/JSP | 企业级项目首选,跨平台,架构安全性较好 | Java反序列化、XXE注入、业务逻辑漏洞 |
| Python | 开发效率高,大量渗透工具、AI项目使用 | 命令注入、路径遍历泄露、配置不当引发漏洞 |
3.3 中间件:请求的翻译官&中转站
中间件处在用户请求和后端程序中间,转发处理所有网页请求,充当翻译和中转角色。中间件配置错误或者存在漏洞,会直接导致网站沦陷。
| 中间件 | 用途 | 默认端口 | 典型漏洞 |
|---|---|---|---|
| Apache | 老牌开源Web服务器,PHP项目广泛使用 | 80/443 | htaccess解析绕过 |
| Nginx | 轻量高性能,高并发场景首选,市场占有率最高 | 80/443 | 解析漏洞、配置错误 |
| Tomcat | Java程序专用容器,运行JSP网站 | 8080 /8443 | war包部署上传、弱口令 |
四、PTES渗透测试执行标准(七步法)
PTES(Penetration Testing Execution Standard)是国际公认渗透测试行业标准,相当于渗透测试的考试大纲,完整7步缺一不可。
| 阶段 | 核心工作 | 重点提示 |
|---|---|---|
| ①事前交互 | 渗透测试起跑线。沟通测试范围、目标、时间窗口、获取书面授权书,确认业务紧急联络人。 | 🔴法律红线,没有书面授权绝不开展测试 |
| ②信息收集 | 整个渗透中耗时占比最高的环节(约占总工作量30‑80%),收集域名、端口、框架版本、员工信息等情报。情报越全,后续攻击越顺畅。 | 分为主动收集(直接扫描目标,产生访问痕迹);被动收集(搜索引擎、Github,不触碰目标服务器,无痕迹) |
| ③威胁建模 | 梳理资产架构,绘制资产地图,分析系统薄弱点,规划攻击路径与优先级。 例:扫描发现开放3306端口,优先测试SQL注入与弱口令爆破。 | 根据情报筛选突破口,不盲目乱扫 |
| ④漏洞分析 | 通过自动化扫描工具(AWVS/Nessus/X‑Ray)+人工审计,挖掘系统漏洞,对照OWASP TOP10 Web十大风险做验证。 | 工具只能做辅助,很多逻辑漏洞只能人工挖掘 |
| ⑤漏洞利用 | 模拟黑客真实攻击,尝试利用漏洞拿到初步访问权限。 | 原则:只验证漏洞可利用性,严禁删除、篡改业务真实数据,不能搞破坏 |
| ⑥渗透后攻击(后渗透) | 拿到初步权限之后扩大战果:权限提升(普通用户→管理员/root)、内网横向移动、持久化留后门、清理操作痕迹。内网渗透核心阶段。 | 不要拿到Shell就直接结束测试 |
| ⑦报告编写 | 整个渗透工作最终交付产物,把技术细节转化成客户看得懂的风险文档,同时也是法律免责证据链。 | 技术做的再好,报告写差等于工作价值大打折扣 |
💡新手坑:很多初学者上来直接跑工具攻击,跳过信息收集。记住:信息收集才是渗透最重要的一步。
五、黑盒、白盒、灰盒测试对比
三种测试模式没有高低贵贱,适用业务场景不一样。
| 对比维度 | 黑盒测试 | 白盒测试 | 灰盒测试 |
|---|---|---|---|
| 通俗比喻 | 蒙眼进门,只知道目标门牌,完全模拟外网黑客 | 拿到建筑完整蓝图+全部钥匙,内部全量信息 | 拿到一份局部平面图,掌握部分内部信息 |
| 给到测试人员信息 | 仅URL、IP,无任何源码、账号、文档 | 完整源代码、架构文档、数据库账号密码 | 部分内部信息(普通账号、部分API文档、内网网段) |
| 优点 | 最贴近真实外部黑客攻击场景 | 漏洞排查覆盖面完整,代码层深度审计 | 兼顾攻击真实性与测试深度,商用项目主流选择 |
| 缺点 | 难度高,有可能遗漏深层业务逻辑漏洞 | 脱离真实黑客攻击场景,工作量巨大 | 深度和真实性都达不到极致 |
| 适用场景 | 外网安全巡检、攻防演练 | 上线前代码审计、系统验收 | 企业商业化渗透测试项目(目前市场主流) |
六、渗透测试报告编写规范
测试完成不是结束,交付专业报告才是闭环。报告三大价值:体现安全测试价值;作为客户系统加固整改依据;留存证据规避法律风险。
6.1 报告标准七大结构
- 封面:项目名称、测试时间、保密级别、甲乙双方信息
- 免责声明:明确授权测试边界,规避法律风险,界定责任
- 项目概述:项目背景、测试目的、被测系统简单介绍
- 测试方法与范围:写明黑/白/灰盒测试类型,罗列被测IP、域名清单
- 漏洞列表【报告核心】:每一个漏洞单独成节,包含编号、名称、风险等级、位置、漏洞描述、复现步骤、危害、修复建议
- 总结与整体建议:整体安全综合评级,长期安全建设加固方案
- 附录:测试工具清单、漏洞复现截图、关键命令记录
6.2 漏洞详情通用模板(参考)
【漏洞编号】VULN‑001 【漏洞名称】SQL注入 【风险等级】⚡高危 High 【漏洞位置】shturl.cc/j6Vk3LTVo4DImik18Fvx2m 【漏洞描述】 后端代码未对id参数做过滤转义,直接拼接进SQL查询语句,攻击者构造恶意参数就可以读取、篡改数据库全部内容。 【漏洞复现步骤】 1.访问目标链接 shturl.cc/j6Vk3LTVo4DImik18Fvx2m 2.修改参数id为 id=1'提交请求 3.页面返回MySQL数据库报错,确认注入点存在 4.使用sqlmap工具进一步验证,成功获取数据库库名。 【潜在危害】 1.泄露全部用户账号密码、身份证等敏感隐私数据; 2.写入Webshell,直接接管服务器完整权限; 【修复建议】 1.优先使用参数化预处理查询(PDO / mysqli预处理语句),从根源杜绝SQL注入; 2.严格校验所有用户输入,限制输入类型、字符; 3.业务数据库账号权限最小化,不给应用DBA最高权限。6.3 漏洞等级划分
| 等级 | 释义 | 典型例子 |
|---|---|---|
| 严重 Critical | 直接GetShell控制服务器;完整拖库泄露核心数据 | SQL注入直接拿Webshell、任意文件下载读取敏感配置 |
| 高危 High | 批量获取业务数据、越权接管大量账号、大面积拒绝服务 | 垂直越权、存储XSS、后台弱口令爆破 |
| 中危 Medium | 造成有限影响,无法大规模扩散风险 | 普通用户水平越权,反射型XSS |
| 低危 Low | 轻微信息泄露,只能作为攻击辅助,业务影响很小 | 路径泄露目录名称、报错信息泄露版本号 |
6.4 写报告的注意要点
- 语言通俗:不要堆砌晦涩黑话,让不懂技术管理层也看懂风险;
- 步骤清晰:漏洞复现建议一步一截图,方便开发运维复现验证;
- 建议落地:拒绝“升级系统、打补丁”空话,给出具体配置、代码层面修复方案;
- 严格脱敏:报告内真实IP、域名、敏感业务数据全部脱敏,禁止随意外传报告。
七、本篇知识点小结
- 渗透测试核心底线:书面授权,无授权就是违法入侵。四大原则:授权、可控、真实、输出报告。
- 术语区分:POC只证明漏洞;EXP用来实际利用漏洞;Payload是漏洞利用之后执行的载荷。
- 三大攻击组件:数据库存数据;脚本语言写业务逻辑;中间件转发用户请求。
- PTES七步流程:事前交互 → 信息收集 → 威胁建模 → 漏洞分析 → 漏洞利用 → 后渗透攻击 → 报告编写。信息收集是重中之重。
- 测试三类模式:黑盒模拟外网黑客;白盒看源码审计;灰盒是商用项目主流方案。
- 渗透报告:漏洞列表是核心,每个漏洞需要写清楚:描述、复现步骤、风险危害、落地修复建议。