☰
从打点到 getshell,靶场完整 Web 渗透流程复现
2026/10/14 5:18:54 网站建设 项目流程

🔒法律免责声明:本文全部操作仅在本地授权靶场完成,仅为 Web 安全自学演示。严禁将文中命令、Payload、利用手法用于任何未授权的公网系统或企业业务,未经授权的渗透测试属于违法行为,一切违规操作的法律后果由操作者自行承担。文中所有域名、IP、账号均为靶场虚构数据,无任何真实业务指向。

目录

    • 1. 渗透测试整体攻击链思维:从打点到 getshell 的完整框架
    • 2. 靶场环境说明与测试边界
    • 3. 阶段一:信息收集,从域名 / IP 到 Web 应用的全面侦察
      • 3.1 存活探测与端口扫描
      • 3.2 Web 服务指纹识别
      • 3.3 目录爆破与敏感文件发现
    • 4. 阶段二:打点突破,寻找可利用的 Web 入口
      • 4.1 识别高价值攻击面
      • 4.2 弱口令突破后台
      • 4.3 SQL 注入突破登录
    • 5. 阶段三:getshell,从后台到命令执行
      • 5.1 后台功能点利用
      • 5.2 文件上传 getshell
      • 5.3 命令注入 getshell
    • 6. 阶段四:权限验证与信息收集(初始立足点)
    • 7. 完整攻击链复盘:一次链路串联演示
    • 8. 渗透测试常见死路与思路调整
    • 9. 从靶场到实战:这套流程在真实场景怎么用
    • 10. 写在最后:渗透测试的思维方式
    • 最后
        • 关于网络安全技术储备
        • 对于0基础小白入门:

摘要
很多安全初学者单项漏洞都会复现:能在 DVWA 跑 SQL 注入、能上传一句话木马、能弹 XSS,但面对一个 “完整业务系统” 时,不知道如何把所学串联成一条完整攻击链。渗透测试不是单独测某一个漏洞,而是从信息收集开始,一步步打点、寻找入口、扩大权限,最终 getshell 并拿到系统控制权的完整过程。

本文基于本地搭建的综合渗透靶场,完整复现一次真实 Web 渗透链路:信息收集→指纹识别→目录爆破→漏洞探测→弱口令 / 注入突破→后台 getshell→命令执行→服务器权限获取,把各个环节串成一条完整闭环攻击链。内容侧重 “流程串联” 与 “打点思路”,讲清楚每一步为什么这么做、怎么判断下一步、遇到死路如何调整,而不是孤立地讲某一个漏洞。适合已经掌握单个漏洞、想建立完整渗透思维的安全学习者阅读。

前言
渗透测试的本质,是围绕目标资产不断收集信息、寻找可利用点、逐步扩大权限的过程。它像一场攻防棋局:信息收集决定你的视野有多广,漏洞利用决定你能撬开哪扇门,权限提升决定你能走多远。

很多新手最大的问题不是不会单个漏洞,而是没有 “全局观”:

  • 拿到一个站点,不知道从哪下手;
  • 只会测最常见的几个点,测不出漏洞就放弃;
  • 不知道信息收集贯穿全程,走一步看一步;
  • 拿到 Webshell 就以为结束了,不知道接下来怎么提权;
  • 遇到防护就直接放弃,不会调整思路。

渗透测试核心心法:永远在 “收集信息→分析→尝试→根据反馈调整” 这个循环里推进。打点不是一次性的,它贯穿整个渗透过程;每拿到一点新信息,攻击面就扩大一圈。

1. 渗透测试整体攻击链思维:从打点到 getshell 的完整框架

先建立整体框架,再展开每个环节。一次标准 Web 渗透完整攻击链:

信息收集 → 指纹识别 → 攻击面梳理 → 漏洞探测 → 突破入口(弱口令/注入/上传) → 获取Web权限 → 提升权限 → 权限维持/后渗透 → 输出报告

打点(Recon & Entry):从一无所知开始,通过信息收集摸清目标,找到第一个可被利用的入口点。这是渗透里最考验耐心和细心的环节,也是决定成败的关键。

getshell(Initial Access):把某个可利用点变成 “能执行代码 / 命令” 的能力,获得服务器上的 Web 权限。这是从 “外网打不进去” 到 “站住脚跟” 的质变。

关键认知:打点不是一步完成,而是信息收集与分析反复迭代的过程。每一步拿到的信息,都可能是下一步攻击的钥匙。不要急于找漏洞,先尽可能把攻击面看全。

2. 靶场环境说明与测试边界

本次演示靶场环境(本地授权搭建):

  • 靶机 IP:192.168.66.120
  • 系统:Ubuntu Linux
  • Web 服务:Apache + PHP + MySQL
  • 业务:一个企业级后台管理系统(含前台、登录、后台管理、文件上传、命令执行等功能点)

测试边界约定(本地靶场模拟企业授权):

  • 仅允许对靶机192.168.66.120本机测试;
  • 允许端口扫描、Web 漏洞测试、获取 Webshell;
  • 禁止横向移动、禁止破坏性操作;
  • 测试完成痕迹清理,恢复环境。

任何真实渗透,第一步永远是确认授权范围。没有授权的扫描与测试都是违法行为。

3. 阶段一:信息收集,从域名 / IP 到 Web 应用的全面侦察

信息收集是渗透的第一步,也是决定整个渗透成败的关键。信息收集越充分,后续打点越有方向。

3.1 存活探测与端口扫描

拿到目标 IP,先用 Nmap 做端口扫描,识别对外开放的服务。

nmap -sC -sV -p- 192.168.66.120

扫描结果:

22/tcp open ssh OpenSSH 80/tcp open http Apache httpd 3306/tcp open mysql MySQL 5.x

开放端口:22 (SSH)、80 (HTTP)、3306 (MySQL)。

信息分析:

  1. 80 端口 Web 服务是主要攻击面;
  2. 3306 MySQL 端口暴露,如果 Web 有 SQL 注入或弱口令,可能直接连数据库;
  3. 22 SSH 暂时没有凭据,先记录。

分析的价值:端口扫描不只是列出端口,要思考每个端口可能的利用方式。3306 暴露意味着如果拿到数据库口令,可以尝试远程连接。

3.2 Web 服务指纹识别

访问http://192.168.66.120,识别 Web 应用:

  1. HTTP 响应头:X-Powered-By: PHP/5.6,Apache 服务器;
  2. 页面底部:Powered by EasyCMS,是一个自研 CMS 后台管理系统;
  3. 登录页:/admin/login.php,存在后台登录入口。

指纹分析:这是一个 PHP CMS,存在后台登录。根据经验,CMS 后台优先测试弱口令、SQL 注入、验证码缺陷。

3.3 目录爆破与敏感文件发现

用 dirsearch 爆破 Web 目录,寻找隐藏路径、备份文件、配置文件。

python3 dirsearch.py -u http://192.168.66.120 -o dir.txt

发现关键路径:

  1. /admin/后台管理目录;
  2. /uploads/文件上传目录(可写路径,getshell 关键);
  3. /config.php配置文件(403 禁止访问);
  4. /backup/备份目录(存在备份文件);
  5. /robots.txt(可能泄露敏感路径)。

尝试直接访问备份目录/backup/,发现存在db_backup.sql数据库备份文件,可以下载。

关键点:备份文件泄露是常见突破口。下载数据库备份可能直接拿到管理员密码哈希,是打点的重要手段。

4. 阶段二:打点突破,寻找可利用的 Web 入口

信息收集完成后,开始针对高价值攻击面尝试突破。打点阶段的目标:找到一个能进入系统的入口。

4.1 识别高价值攻击面

综合分析,锁定以下几个突破口:

  1. 后台登录:/admin/login.php,弱口令、SQL 注入、验证码缺陷;
  2. 数据库备份文件:/backup/db_backup.sql,可能泄露管理员密码;
  3. 文件上传功能:后台上传点,getshell 主攻方向;
  4. 命令执行功能:部分 CMS 有 ping / 工具类功能,可能存在命令注入。

4.2 弱口令突破后台

访问后台登录页,输入常见弱口令:admin/admin、admin/123456、admin/password。
直接尝试admin/admin,登录成功进入后台。

虽然实际渗透中弱口令不一定成功,但作为最基础、成本最低的打点手段,必须优先尝试。很多自研系统、老旧系统存在默认弱口令。

4.3 SQL 注入突破登录

如果弱口令不行,后台登录页是 SQL 注入的高发点。抓包登录请求:

POST /admin/login.php HTTP/1.1 username=admin&password=123456

username 参数单引号测试:admin',返回数据库报错,存在报错型 SQL 注入。

用 sqlmap 脱库拿到管理员密码:

sqlmap -r login.txt --dump

拿到后台用户表,密码为 MD5 哈希,解密得到明文密码。

打点思路:弱口令和 SQL 注入是后台登录的两大突破口,一个不成功就换另一个,甚至组合使用。拿到后台权限,就打开了 getshell 的大门。

5. 阶段三:getshell,从后台到命令执行

拿到后台权限后,目标升级:从 “进入系统” 到 “能执行代码 / 命令”,即 getshell。

5.1 后台功能点利用

进入后台后,梳理所有功能点,重点关注:

  1. 文件上传:修改公告、上传附件、上传头像 —— 上传 php 后门的最直接入口;
  2. 命令执行类功能:部分 CMS 有 ping、备份、解压等功能,可能存在命令注入;
  3. 模板 / 主题编辑:能改代码文件,直接写入后门;
  4. 数据库管理:能直接执行 SQL,写文件。

5.2 文件上传 getshell

后台找到文件上传功能(新闻图片上传),尝试上传 php 一句话木马:

<?php @eval($_POST['cmd']);?>

前端限制 jpg/png,抓包修改后缀上传。后端校验不严,直接上传成功shell.php,保存到/uploads/目录。

访问http://192.168.66.120/uploads/shell.php,用蚁剑 / 冰蝎连接,成功执行命令,getshell 成功。

文件上传是 getshell 最常用、最高效的入口。配合上传目录可写、脚本可解析,直接拿到 Web 权限。

5.3 命令注入 getshell

如果上传被拦截,还可以尝试后台的命令执行功能。找到后台一个 “ping 测试” 功能,参数拼接到系统命令:

system("ping -c 4 ".$ip);

构造 Payload:127.0.0.1;whoami,命令执行成功,同样可以写入 Webshell 获取 Web 权限。

getshell 的本质:找到一个能执行任意代码 / 命令的点。文件上传、命令注入、模板写入、SQL 写文件,都是常见途径。

6. 阶段四:权限验证与信息收集(初始立足点)

getshell 后,用蚁剑连接,验证权限,并进行初始信息收集(为后续提权做准备)。

当前身份:www-data(Web 服务低权限账号,不是 root)。

信息收集命令:

whoami # 当前用户 www-data id uname -a # 内核版本 cat /etc/passwd # 系统用户列表 ls -la /var/www/ # Web目录 sudo -l # sudo权限检查

关键发现:

  1. 当前是www-data普通权限,无法直接读 root 文件;
  2. 内核版本较老,存在内核提权可能性;
  3. 查看定时任务、SUID 文件、可写 root 脚本,寻找提权点。

到这里,攻击链已经走完大半:打点(信息收集)→突破后台→getshell(拿到 Web 权限)。但渗透测试通常不止于此,还需要提权到更高权限,这是完整攻击链的重要一环。

7. 完整攻击链复盘:一次链路串联演示

把上面的环节串联成一条完整链路,看整体是怎么推进的:

192.168.66.120(未知目标) │ ├─ ① 端口扫描:发现 80/3306/22 ├─ ② 指纹识别:Apache+PHP+EasyCMS+后台登录 ├─ ③ 目录爆破:/admin /uploads /backup ├─ ④ 备份文件:db_backup.sql(信息收集成果) ├─ ⑤ 后台弱口令:admin/admin 登录成功 ├─ ⑥ 文件上传:shell.php 上传成功 └─ ⑦ Getshell:蚁剑连接,www-data 权限,命令执行

这条链路的思维要点:

  1. 每一步的成果都是下一步的铺垫:端口扫描→找到 Web→指纹→目录→备份→后台→上传→getshell;
  2. 不是每一步都必然成功,但每一步失败都可以收集新信息、调整方向;
  3. 多个突破口可以同时准备,弱口令不行就 SQL 注入,上传不行就命令注入,保持多条路并行。

8. 渗透测试常见死路与思路调整

渗透测试中 “碰壁” 是常态,关键是怎么调整思路:

死路一:后台弱口令爆破失败
调整:转 SQL 注入测试登录;寻找数据库备份文件;尝试找回密码功能逻辑漏洞。

死路二:文件上传被严格校验
调整:图片马 + 文件包含;00 截断(老版本);.htaccess 攻击;转命令注入 / 模板写入。

死路三:没有明显的注入 / 上传点
调整:回到信息收集,扩大子域名、目录爆破范围;测试逻辑漏洞(越权、未授权);换工具 / 换思路深挖。

死路四:getshell 后提权困难
调整:信息收集找定时任务、SUID、sudo 配置;找内核提权 EXP;复用数据库口令登录 SSH / 其他服务。

核心心法:永远不要一条路走到黑。一条路堵死,收集新信息、换攻击面、调整思路,从其他角度继续推进。渗透测试拼的不是单一技术,而是不断尝试和调整的能力。

9. 从靶场到实战:这套流程在真实场景怎么用

靶场里的流程,在真实场景中是这样映射的:

信息收集:真实目标范围更大,需要子域名收集、资产测绘、IP 段扫描,先圈定全部攻击面,再逐层深入。

打点:真实系统有 WAF、有防护,弱口令、SQL 注入 Payload 会被拦截,需要结合 WAF 绕过、代理、降低频率,耐心试探。

getshell:真实系统文件上传校验严格,命令注入场景变少,更多依靠框架漏洞(ThinkPHP、Shiro、Fastjson)、业务逻辑漏洞打点。

提权 / 后渗透:真实环境权限维持、横向移动、痕迹清理更复杂,需要更多系统层面知识。

但核心攻击链思维是相通的:信息收集→找入口→突破→扩大权限→收尾。靶场练的就是这套思维框架,实战是在此基础上增加防护对抗、扩大攻击面、丰富利用手法。

10. 写在最后:渗透测试的思维方式

这篇从一个完整靶场案例,串联了从打点到 getshell 的完整渗透流程。相比记住具体 Payload,更重要的是建立渗透的思维方式:

  1. 信息收集贯穿全程:不要拿到目标就急着找漏洞,先把攻击面摸全,每步都收集新信息;
  2. 攻击链思维:把渗透看作一环扣一环的过程,明确每一步目标(找入口→进后台→getshell→提权);
  3. 多条路并行:一个突破口不行就换一个,保持多条攻击路径同时推进;
  4. 理解原理而非背 Payload:明白 “为什么能利用”“哪里没防护”,才能灵活应对不同环境;
  5. 流程大于技巧:很多人学了一堆 exp 却不知道何时用,核心是缺一套完整流程意识。

靶场练的就是这套流程和思维,练熟之后面对真实业务系统,才不会手足无措。但请牢记:所有技术能力,只能用于授权环境和合法合规的地方。靶场是学习起点,也是检验你是否守得住底线的试金石。


最后

关于网络安全技术储备

学好网络安全不论是就业还是做副业赚钱都不错,但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料,给那些想学习网络安全的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门网络安全是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。

二方面是可以找到适合自己的学习方案

包括:网安成长学习路线图、SRC&黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全!

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)

👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

👉5.黑客必读书单👈

随着互联网技术的飞速发展,网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等,以其强大的语言理解和防御能力,正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。

👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

这份完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

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

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

立即咨询