CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
网络安全入门/课时/渗透测试入门
RawBlame
课时目录12 节

网络安全入门

  1. 01安全职业与 IT 基础
  2. 02网络与安全基础
  3. 03操作系统加固
  4. 04密码学与 PKI
  5. 05身份与访问控制
  6. 06威胁与攻击向量
  7. 07防御技术与工具
  8. 08事件响应与取证
  9. 09云与虚拟化安全
  10. 10渗透测试入门
  11. 11合规与认证
  12. 12综合练习

渗透测试入门

红蓝对抗、Nmap、Wireshark、HTB。

35 分钟

渗透测试方法论与 Burp Suite 实操

这一课你将能做到

  1. 按授权 → 侦察 → 枚举 → 利用 → 报告的完整流程组织一次测试
  2. 配置 Burp Suite 代理,对授权靶机完成抓包、重放与爆破测试
  3. 输出一份符合行业习惯的渗透测试报告

为什么要学

渗透测试是「以攻击者的视角做防御验证」。它不是乱打一通:没有方法论的黑盒测试会漏掉大量攻击面,没有授权的测试就是违法。你作为后端工程师,学会渗透思维的最大收益是写代码时能预判攻击路径——看到「文件下载接口」立刻想到路径穿越,看到「价格参数」立刻想到越权篡改。

人话:方法论 = 检查清单,保证你不漏;Burp = 你的手术刀,精确控制每一个 HTTP 请求。

先建立图像

PTES 七阶段:

① 前期交互 → 范围、授权书、测试窗口     ← 法律边界在这里划定!
② 情报收集 → 域名、子域、技术栈、人员
③ 威胁建模 → 按资产价值排序攻击面
④ 漏洞分析 → 版本比对、配置审查、扫描
⑤ 渗透利用 → 验证漏洞、拿到立足点
⑥ 后渗透   → 权限维持、横向移动(仅授权范围)
⑦ 报告     → 风险评级、复现步骤、修复建议

跟着做

步骤 0:授权边界(反复强调不为过)

书面授权必须包含:测试范围(IP/域名/接口清单)、时间窗口、禁止动作(不删数据、不压垮生产、不做社工)、应急联系人。靶场练习用 DVWA(本机 Docker):

docker run --rm -it -d -p 80:80 vulnerables/web-dvwa

步骤 1:配置 Burp Suite 代理

① 启动 Burp Suite Community → Proxy → Options 确认监听 127.0.0.1:8080
② 浏览器(Firefox) 设置代理 127.0.0.1:8080
③ 访问 http://burp 下载 CA 证书并导入(否则 HTTPS 站点全是告警)
④ Proxy → Intercept 置为 Off(先正常浏览收集,再按需开拦截)

步骤 2:侦察与枚举(对靶机)

# 指纹:HTTP 头、报错页面判断技术栈
curl -I http://localhost
# 目录枚举:探测后台、备份文件、actuator 等
ffuf -u http://localhost/FUZZ -w /usr/share/wordlists/dirb/common.txt -mc 200,301,403

Burp 里同步观察 Target → Site map,逐步画出靶机的接口清单——这份清单就是你测试范围的执行版。

步骤 3:Repeater 重放与改包

① 登录 DVWA 后,把「修改密码」请求 Send to Repeater
② 停止拦截,在 Repeater 里修改 password_new 参数重放
③ 观察响应差异:无 CSRF token 时直接成功 → CSRF 漏洞实锤
④ 同样方法测试越权:把 user_id=1001 改成 1002,看能否读到他人数据

步骤 4:Intruder 爆破(仅授权靶机)

① 把登录请求 Send to Intruder,Sniper 模式
② Payload 选 Simple list,导入小字典(Community 版有速率限制,仅演示用途)
③ Attack 后按响应长度排序:长度异常的就是成功登录
④ 这个实验的真正价值:让你理解为什么服务端要加限流+验证码+锁定策略

步骤 5:输出报告

报告模板:

1. 概述:范围、方法、时间
2. 风险摘要:高危 2 / 中危 3 / 低危 1(按 CVSS 或高中低)
3. 漏洞详情(每条):
   - 标题:登录接口无速率限制,可暴力破解
   - 等级:高危
   - 复现步骤:精确到请求(贴 Burp 抓包原文)
   - 影响分析:撞库导致账号接管
   - 修复建议:限流+验证码+失败锁定+异常登录告警
4. 附录:工具与版本、测试账号

讲清楚要点

  1. 授权是渗透测试与违法的唯一分界线:没有书面授权,技术上再正确的扫描也是犯罪。报告、聊天记录、邮件都可能成为授权证据,养成留痕习惯。
  • 侦察决定上限:技术栈版本、目录结构、历史漏洞(ChangeLog、Git 泄露、.env 残留)通常在利用阶段之前就决定了测试成败。花 60% 时间侦察不亏。
  • 手动优于扫描器:Burp 的价值在 Repeater/Intruder 里「人控制每个请求」。扫描器给线索,逻辑漏洞(越权、支付篡改、流程绕过)只能人工验证。
  • 报告是渗透测试的核心交付物:只有能复现的步骤 + 可落地的修复建议才是合格报告。「我黑进去了」没有任何价值。
  • 从攻击中反推防御:每发现一个洞,问自己「开发当时少做了哪一步」,把答案变成自己代码里的检查项——这是开发者学渗透的正确姿势。
  • 你可能会懵的地方

    • Burp Community 和 Professional 差多少? Community 有 Repeater/Intruder(限速)够学习用;Pro 多了扫描器与高速爆破。学习阶段 Community 完全够,别急着花钱,PortSwigger Academy 免费且质量极高。

    • HTTPS 站点抓包报证书错误? Burp 做中间人代理,用自己的 CA 重签证书。访问 http://burp 下载 CA 导入浏览器受信任根(仅测试环境浏览器),生产浏览器别装。

    • 渗透和漏洞扫描是一回事吗? 扫描器自动化比对特征,快但误报多、覆盖不了业务逻辑;渗透测试人工验证可利用性、串联漏洞组合攻击,产出是真风险清单。扫描是渗透的一个环节。

    • 学渗透要背多少命令? 命令是查的,思路是练的。核心是方法论:每个环节问「这里还能怎么打」。工具会过时(nmap 十年没变,但当年的人肉扫描工具早没了),思维不会。

    • Red Team 和 Penetration Test 什么区别? 渗透测试有明确范围与报告交付,验证特定目标的安全性;红队模拟真实对手的完整攻击链(含社工、长期潜伏),检验的是检测与响应能力而非单点漏洞。

    • 拿到立足点之后能「顺手」多看几台机器吗? 不能。后渗透动作必须落在授权书范围内的资产上,超出范围的任何访问都违法;发现新攻击面应记录进报告、由客户书面扩展范围后再测。纪律是渗透测试人员的核心职业素养,也是企业敢让你测的前提。

    错法对照

    错法问题正解
    无书面授权就开始测违法先签授权书明确范围与窗口
    全程依赖 AWVS/Nessus 扫描逻辑漏洞全漏扫描给线索 + 手动验证
    测试不记录原始请求无法复现,报告没价值Burp 每一步留包
    用生产数据测试乱改业务事故授权范围内用测试账号/影子库
    报告只写「发现 XSS」无法排期修复复现步骤+影响+具体修复建议

    卡点急救

    1. 浏览器走 Burp 代理后全部打不开:代理端口没配对或 Burp 没启动;HTTPS 站点要先导入 Burp CA 证书。
    2. Intruder 爆破太慢:Community 版限速属正常,改用小字典验证机制即可;想体验完整能力用 PortSwigger Academy 的在线靶场。
    3. ffuf 全是 404/403 噪音:加 -fc 404,403 过滤,并用 -ac 自动过滤长度一致的噪声响应。

    面试常问

    • 描述一次完整的渗透测试流程。 按阶段答:授权与范围确认 → 信息收集(资产/技术栈/泄露文件)→ 漏洞分析(版本+配置+扫描+人工验证)→ 利用(验证可利用性与影响)→ 后渗透(限授权范围内评估影响面)→ 报告(风险评级、复现、修复建议)→ 复测闭环。每阶段给一个具体例子最佳。

    • 发现高危漏洞但客户系统正忙,怎么处理? 评估可利用性与影响:若正在被利用/可造成实害,立即走应急通道联系授权联系人;否则记录证据、按约定窗口测试、报告中标注紧急程度。核心:沟通留痕、不擅自扩大动作。

    • 逻辑漏洞和普通漏洞的区别?怎么发现? 逻辑漏洞没有特征签名(扫描器测不出),源于业务规则缺陷:越权、支付金额篡改、验证码复用、流程跳跃。靠理解业务 + 手动测试:枚举每个「服务端应校验但信任了客户端」的参数。

    自测三问

    1. 渗透测试授权书至少要写清哪四件事?
    2. Burp Repeater 在测试越权漏洞时的操作流程是什么?
    3. 为什么说「报告」才是渗透测试的核心交付物?

    小结一句话

    渗透测试是带法律边界的工程验证:授权先行、方法论保覆盖、手动验证见真章、报告驱动修复——学攻击的最终目的是写出不用被攻破的代码。

    延伸

    • PortSwigger Burp Suite 文档
    • PTES 渗透测试执行标准
    • 下一课:合规实务——等保 2.0、GDPR 与 ISO 27001。
    加载本节练习…
    ← 上一课云与虚拟化安全下一课 →合规与认证