☰
渗透测试靶场练什么?15个实战靶场分级清单与踩坑经验
2026/10/12 2:41:37 网站建设 项目流程

我把这几年带新人常用的靶场清单和踩坑经验整理了一下。很多人一上来就问我“渗透测试靶场该从哪个开始”“为什么照着教程也打不动”,其实问题多数不在工具,而在没有搞清楚每个靶场练的到底是什么能力。这篇就按我的实际带教顺序,把15个实战级靶场按入门、进阶、硬核三档拆开,每个都写清楚适合谁、坑在哪、怎么练才算合格。新手照着这份清单走,可以少走很多弯路。

1. 为什么新手一定要刷靶场:先想明白再动手

1.1 靶场背后练的是哪些核心能力

渗透测试靶场不是“打游戏”,它是一个允许你合法攻击的实验环境。练靶场真正的目标,是把渗透测试的核心能力拆成可重复训练的动作。我通常把这些能力分成五类:信息收集能力、漏洞发现能力、漏洞利用能力、权限提升与后渗透能力、报告输出能力。

信息收集看你能不能从域名、IP、端口、目录、源码里找到突破口;漏洞发现考验你会不会用Burp Suite、nmap这些工具做手动探测;漏洞利用要求你理解SQL注入、XSS、命令注入、文件上传的原理,而不是只会跑漏洞工具;权限提升是很多靶机设计的重头戏,练的是内核、服务配置、密码复用这些思路;报告输出则是很多新人最容易忽略的一环,探测到漏洞之后能不能写清楚复现步骤和修复建议,直接决定你能不能从一个“会用工具的人”变成“能干活的安全工程师”。

靶场设计出来就是为了单点强化这些能力。比如某个靶场专门让你练命令注入,某个靶场就是全套的大型Web应用漏洞。你在一个靶场里反复折腾直到完全理解原理,比一口气把15个靶场全部“打一遍”有价值得多。

1.2 哪些人适合按这份清单练,哪些人不适合

如果你是刚接触安全测试的学生、想转行做网络安全的新人、已经在做开发但想了解安全方向的工程师,这份清单很适合你。我建议每天抽出1到2小时,按后面的顺序一个靶场一个靶场过,练完一个再进下一个,不要为了“刷数量”而囫囵吞枣。

但有两种人不适合无脑刷靶场。第一种是完全零编程基础、连Linux命令都还没碰过的朋友,建议你先花一两周把常用命令和Web基础补一补,否则在靶场里会卡在最基础的请求和响应理解上。第二种是目标不明确的人,如果你练靶场只是为了“看起来很厉害”或者准备面试题,那很难坚持,因为靶场里的坑多且细,没有内驱力很容易半途而废。

说到底,靶场是强化训练场,不是入门课本。它适合你已经知道了基本概念、想通过动手把概念变成肌肉记忆的阶段。

1.3 靶场和真实环境的差别与边界

必须说清楚:靶场和真实业务环境有很大差别。靶场里的漏洞是刻意埋进去的,结构简单、路径清晰,有些甚至直接给你提示;真实环境则到处都是限制,有WAF、有代码审计、有认证体系、有业务逻辑复杂性,真实漏洞往往藏得很深。

因此靶场训练的是“手感”和“方法论”,不是“套路模板”。比如靶场里你学会了SQL注入的联合查询,到了真实环境可能碰上过滤和编码问题,这时候你靠的是对注入原理的理解,而不是背下来的payload。这也是为什么我后面会反复强调:一定要开源码看,一定要把手工请求反复改几遍,不要一上来就直接跑自动化扫描器。

合规边界也要记住:这些靶场、在线平台都是为了让你练手而存在的,你在里面怎么折腾都行,但绝对不能把同样的手法用到没有授权的系统上。安全测试的基本底线是“授权”,没有授权,再简单的“试一下”也越界了。

2. 练靶场前的装备与心态:工具和路径一次配齐

2.1 必备工具栈:很多坑其实出在环境没搭好

练靶场之前,我建议先把环境准备到顺手。我用过的最小可用组合是这样:

  • 虚拟机软件:推荐主流开源虚拟机,隔离性好,打快照方便,崩了直接回滚,不折腾宿主机。
  • 一个预装安全工具的Linux发行版:比如Kali Linux,里面已经集成了nmap、Burp Suite、sqlmap、dirb等常用工具,省去逐个安装的麻烦。
  • 浏览器:Firefox或Chrome都行,建议配合开发者工具使用,手动改请求头、查看Cookie都靠它。
  • Burp Suite社区版:做Web安全必备,拦截HTTP请求、修改参数、重放请求全靠它。社区版免费,功能对新手足够。
  • 简单文本编辑器加一个Markdown笔记工具:每打一个靶场,记录你的步骤、payload、测试结果,复盘时非常有用。

准备虚拟机的时候有几个高频坑。第一,虚拟机的网络模式不要选错,一般采用NAT模式能访问外网,靶场VM和自己本机的通信也要注意地址配置。第二,务必开快照,尤其是本地靶场,很多人把环境搞得一团糟之后没法回退,只能重装。第三,端口和目录扫描前先确认靶场服务已经启动,我见过太多新手在服务没起来的时候就拿nmap扫半天,然后一脸懵。

2.2 建议的练习路径与节奏

我给新人的默认路线是:先Web漏洞薄靶场打基础,再做综合性Web靶场练串联能力,然后到在线闯关平台找反馈,最后碰真实风格的虚拟机靶机。

用本地Web靶场入门的好处是免费、离线、可调试,还能随时开源码看。综合性Web靶场会让你面对一个完整业务系统,这时候要自己判断漏洞入口,考察的是整体思维。在线闯关平台自带判定机制,做完一个练习马上知道对错,新手期反馈很重要。最后上虚拟机靶场,才能真正体验“我从一个不知道有什么漏洞的系统开始,一步步拿到最高权限”的完整过程。

节奏上,我建议每个靶场至少给自己两天时间。一天探索、记录,第二天复盘、看源码、整理思路。三分钟热度似的到处乱打,打完就忘,等于白练。

2.3 练靶场最常见的三个致命误区

第一个误区是“无脑跑工具”。sqlmap、nuclei、nmap这些工具很强大,但新手一开始依赖工具,会完全跳过了“手工理解”这一步。我见过不少新人输出一堆工具报告,问他SQL注入为什么能用单引号判断,完全答不上来。建议前期所有漏洞都先手工测,把工具当验证手段而不是主要手段。

第二个误区是“不看源码”。本地靶场最大的福利就是可以打开源码看过滤逻辑,看参数如何处理。你把它当黑盒去盲打,进步速度会很慢;一旦结合白盒看几遍,很多漏洞原理一下子就通了。

第三个误区是“记了一堆payload但不知道匹配什么场景”。比如宽字节注入、二次注入,每个payload都有特定前提。练靶场时应该把每个payload对应的漏洞成因、触发条件、绕过方式记下来,而不是存成一个“万能字典”。

3. 15个实战级靶场清单:从入门到难啃,我推荐这么练

3.1 入门热身组:几个必囤的Web漏洞靶场

我把最容易上手的五个靶场放进这一组,适合刚练完基本命令、想建立Web漏洞手感的新人。

靶场名称类型难度核心看点
DVWA本地Web应用入门等级可调,适合从Low开始练SQL注入、XSS、文件上传
WebGoat教学型Web应用入门自带课程和提示,交互强,适合跟着学
bWAPP本地Web应用入门内置100多种漏洞,按分类排列,方便做专题练习
Mutillidae本地Web应用入门覆盖OWASP常见漏洞,有提示和源码,教学属性强
HackThisSite在线基础谜题入门网页基础挑战,早期经典,适合培养基础思维

DVWA我几乎每届新人都会让他们先碰。它分低、中、高三个安全等级,同一个漏洞在不同等级下的防护不一样,这种设计特别好用。练的时候先把等级调到Low,把模块里的SQL Injection、Command Injection、File Upload依次手工打一次,再切到Medium看看过滤规则,想一下怎么绕过。bWAPP很适合做专题训练,比如你今天想把文件上传漏洞搞明白,就专门挑上传相关模块连续练,集中火力的效果比每天换个漏洞强太多。WebGoat的好处是有教学引导,连下一步该试什么都不用太迷茫,特别适合没人带的情况。

3.2 进阶能力组:贴近真实业务和在线闯关

入门组练完之后,你需要面对更真实、更综合的业务场景。这一组的五个靶场难度明显抬升,但依然可以让新手在指引下拿到成就感。

靶场名称类型难度核心看点
OWASP Juice Shop综合Web应用进阶电商业务场景,漏洞类型丰富,像闯关一样烧脑
PortSwigger Web Security Academy在线实验室进阶每个Web漏洞都有教程和实验环境,可在线验证
PentesterLab练习镜像进阶以小型应用镜像为主,适合系统性练习Web漏洞利用
OverTheWire在线闯关进阶用SSH进关卡,练Linux权限和提权基础
PicoCTF在线CTF平台进阶面向入门CTF,Web之外还能练逆向、取证、密码学

我要重点夸奖一下Juice Shop。它的设定非常贴近真实电商站,有商品列表、购物车、用户中心、评价系统,漏洞不是放在一个显眼的“测试靶子”里,而是藏在业务逻辑中。比如越权访问其他用户订单、篡改商品价格、通过评论触发存储型XSS,这些题目会让你不得不用更完整的思路去分析应用。官方自带通关进度和提示系统,卡住的时候可以适度看提示,但不要每道题都直接抄答案。

PortSwigger Web Security Academy也很适合作为Web漏洞的系统教程。它把SQL注入、XSS、CSRF、SSRF、XXE、文件上传等大类拆得很细,每个实验都给了场景说明和推荐工具,做完能立刻知道成功与否。PicoCTF和OverTheWire放在进阶组,是为了让你别只死磕Web,安全测试包含很多底层能力,比如Linux权限、二进制分析、日志分析,它们都是你的工具箱。

3.3 实战难啃组:从单点漏洞到完整渗透链路

到了这一组,你会开始接触完整的虚拟机靶场和竞技型在线平台,这些靶场不再告诉你“漏洞在哪个页面”,而是需要你从零开始信息收集、探测、利用、提权直到拿到最高权限。

靶场名称类型难度核心看点
VulnHub本地镜像平台硬核提供大量虚拟机镜像,经典boot2root练习
HackTheBox在线竞技平台硬核机器质量高,贴近真实内网渗透场景
TryHackMe在线教学平台进阶到硬核结构化的Room路径,从易到难,反馈及时
Metasploitable 2本地虚拟机进阶经典练手靶机,漏洞服务多,适合学Metasploit
Root-Me在线综合挑战硬核模块多,涵盖Web、取证、逆向、加密,挑战感强

VulnHub下面有很多经典靶机,每一台就相当于一次完整实战。你需要自己下载镜像,导入虚拟机,从nmap端口扫描开始,一路探测到漏洞利用和提权。第一次打VulnHub的靶机时很容易一头雾水,因为没有任何提示,这也是它的价值所在。我的建议是先选定一台难度标注较低的靶机,比如在社区标记为“入门”的机器,设定期限,比如48小时,逼自己完成完整链路。

HackTheBox和TryHackMe这类在线平台的问题在于,你是在别人提供的基础设施上练习,注册和使用时要完全遵守平台规则,尤其是“不要对平台之外的设备进行扫描”。很多新手容易只在平台上打几台机器就觉得“自己会渗透了”,这是错觉,在线平台和真实授权的企业级测试之间还有很长的路要走。Metasploitable 2相对简单一些,里面开了非常多的危险服务,适合练习用Metasploit框架完成漏洞利用,比如弱口令、后门、溢出模块,它和Metasploit配合度极高。

4. 实操示范:从DVWA到商业场景靶场的一次完整通关

4.1 环境搭建:本地起一个DVWA靶场

我们拿DVWA举一个完整例子,把“搭建—利用—复盘”走一遍。这样你看到的不再是抽象概念,而是一条真实可复制的路径。

先把虚拟机工具装好,再准备一个带图形界面的Linux虚拟机,也可以从DVWA官方项目里获取集成环境,把整个靶场作为一个虚拟机镜像导入。我更推荐用已经打包好的镜像,因为新手自己配数据库、PHP环境时容易遇到版本兼容问题,浪费时间。

装好后,在虚拟机里启动服务,浏览器访问DVWA的登录页。默认账号密码一般是admin和password,登录后第一件事是进入DVWA Security页面,把安全等级设置为Low,然后保存。接下来可以选SQL Injection模块,界面就是一个输入框,让你输入用户ID,页面会显示对应的用户名信息。

这里特别注意:DVWA靶场不要直接桥接暴露到公网。它本身就是一堆漏洞,如果被其他人扫描到,等于主动送靶子。你只需要用NAT或仅主机网络,保证虚拟机自己能访问、宿主机方便调试即可。

4.2 一个典型SQL注入的完整测试思路

现在演示DVWA SQL Injection模块里的一次典型手工注入,我会把每一步的思路说清楚而不是只给结果。

先在输入框里正常输入1,页面返回User ID 1对应的信息。这说明应用接收了参数,并且将其用于查询。接着输入1',也就是在数字后面加一个单引号,如果页面报错或者返回异常,说明单引号参与了SQL语句拼接,初步判断存在SQL注入。别急着开心,还要继续验证。输入1' and '1'='1,如果页面和你直接输入1时返回一样,输入1' and '1'='2返回空,基本可以确定布尔型注入成立。

再进一步,我想知道这个查询结果到底返回几列。使用order by依次尝试:输入1' order by 1等,当order by n返回错误时,说明列数小于n。假设测试到3时正常、到4时报错,那说明查询返回三列,这时候可以用union select构造联合查询。输入1' union select 1,2,3,页面会显示一部分ID为1的数据和一部分数字替换过来的数据,这些数字代表输出点在第几列。

如果页面显示的是user()或database()的内容,输入1' union select user(),database(),3之类,就可以拿到数据库用户和库名。整个过程下来你就完成了信息型注入的经典测试链路。练熟练之后,再用sqlmap去验证一次,对比结果,你会更清楚工具输出背后的原理。

4.3 复盘与报告写作:练靶场不只是打进去就行

打完一次靶场,我强烈建议强制自己写一份“渗透测试报告”。报告里包含:目标描述、测试时间、漏洞列表、漏洞等级、复现步骤、影响范围、修复建议。哪怕只是对着本地靶场练,这份报告也能帮你养成职业习惯。

比如针对上面的SQL注入漏洞,复现步骤可以写:访问某页面、在用户ID输入框提交1'、观察到SQL错误、使用order by探测列数、使用union select获取当前数据库用户。修复建议可以写:使用参数化查询、关闭错误信息输出、限制数据库账号权限、对输入做白名单校验。

很多新人打完靶场就关掉机器,觉得“我会了”。实际上,真正能把一次测试讲清楚,能让另一个没有参与的人照着你的报告完整复现,才算真会了。这能力在面试和实际项目里都极其重要。

5. 新手高频踩坑实录:环境问题与逻辑误区速查

5.1 环境类问题速查表:先查这里,别急着怀疑人生

我带新手时发现,大部分“打不动”根本不是技术问题,而是环境没通。这里整理一张速查表,卡住的时候先对照检查。

症状可能原因解决办法
浏览器访问不到靶场页面服务没启动、IP配置不对、端口没映射先确认服务进程,再用netstat检查端口,最后看虚拟机网络模式
靶场页面能开但图片/样式丢失数据库未初始化或路径配置错误重新执行初始化脚本,检查部署目录
DVWA等级切换不生效数据库状态异常在DVWA主界面执行Setup/Reset Database操作,再重设等级
扫描扫不到靶场端口主机和靶场网络隔离、防火墙拦截切换网络模式,确认靶场IP在当前网段内
Burp抓不到浏览器请求浏览器没走Burp监听端口或证书未信任配置好浏览器监听端口,安装并信任Burp证书
打一半环境崩了资源耗尽、快照没做养成开局先拍快照的习惯,崩了就回滚

这里面最容易被忽略的就是浏览器和Burp之间的流量转发关系。很多新人明明开了Burp,但浏览器请求没被拦截,于是以为靶场有问题。你在浏览器里访问页面,需要把流量指向Burp的监听端口,而Burp默认监听本地某个端口,这一条链路没打通,后面全白搭。另一个高频坑是证书问题,HTTPS流量无法解密时Burp里看不到明文报文,信任Burp证书就很重要。

5.2 逻辑误区与学习心态:为什么打了很多靶场还是心里没底

我把这些年在靶场陪练过程中最常见的心态问题集中说一下。

第一类是“扫描器依赖症”。nmap、gobuster、sqlmap、weakpass、msfconsole一套组合拳下来,看着输出一堆,心里很爽,但如果不理解工具每个参数和行为背后的原理,下次换个场景就抓瞎。我从第二遍建议开始,就让新手把自动工具的很多参数绕过去,先手工,再脚本化验证。

第二类是“只做Web不做系统”。很多新手觉得Web渗透帅,死磕Burp和SQL注入,完全忽略Linux权限、日志分析、服务配置这些基本功。但你在VulnHub这种靶机上会发现,Web漏洞往往只是突破口,后续提权、横向移动还要懂系统知识,所以别偏科,系统知识也要练。

第三类是“对答案式学习”。看到一个靶场教程,照着敲一遍,觉得“我复现了”,实际上没动多少脑子。建议看完教程之后关掉教程,自己从头不打一遍,卡住再去翻。如果你不能独立复现一次,那这个技能就还不属于你。

第四类是“追求难度虚荣心”。跳过低级直接去打高难度靶机,结果死磕三天,挫败感爆棚,最后放弃。难度设计都是有道理的,循序渐进反而是最快的捷径。

5.3 合规提醒与个人练习习惯

最后必须再强调一次安全边界。靶场平台存在的意义,是让你在没有授权风险的前提下练习技术,这跟“拿别人的系统练手”是两个性质完全不同的事。从第一天练靶场开始,就要把授权意识刻进习惯里:没有书面授权,就不做任何超出靶场环境的探测。这样等你真正进入职业状态,才不会踩到红线上。

再分享一个我自己一直用的练习习惯:每打完一个靶场,我会写一篇“复盘笔记”,格式固定为:靶场名称、用时、踩了哪些坑、哪些步骤卡住、看源码后发现的关键点、如果重新打一次会怎么优化。这个习惯看起来很简单,但坚持超过三个月后,你会发现自己的思路越来越清晰,无论是面试讲项目还是实际做测试,都能有条不紊地输出。

这份15个靶场清单,从一个半月刷到三个月刷完都合理。不用和别人比速度,同一台靶机,有人两小时就拿下,有人需要三天,关键在于三天后你搞清楚自己卡在哪、为什么卡。把每一个坑都当作教材,然后继续下一个靶场,练完一组再回头打之前卡住的那台机器,你会感受到非常明显的变化。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询