news 2026/6/16 11:11:53

Web 渗透测试课程学习心得

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Web 渗透测试课程学习心得

一、前言

这个学期系统学习了 Web 渗透测试课程,从基础的代理爬虫、身份会话测试,到文件包含、文件上传漏洞,再到手工 SQL 注入与 SQLMap 工具自动化注入,一步步从零接触网络安全攻防。过去我对网络安全的认知只停留在 “黑客攻击网站” 的模糊印象,经过课堂实操、靶场练习与项目实操,我真正理解了漏洞产生原理、利用思路以及对应的防御方案。本篇博文结合课堂多个实操项目,记录我的学习过程、实操踩坑经验与技术总结。

二、课程基础项目:代理、爬虫与身份会话测试

课程前期我们完成了项目 3-1 代理、爬虫和爬行器,以及项目 4 系列身份验证和会话管理测试。 最开始上手 Burp Suite 代理工具时,屡屡遇到浏览器抓不到包的问题:一开始没正确配置浏览器代理端口,证书未安装导致 HTTPS 流量拦截失败,反复对照教程一步步排查才解决。学会抓包改包是渗透测试的基础,所有漏洞测试都离不开对 HTTP 请求数据包的观测与修改。 在会话管理测试实操里,我学会测试 Cookie、Sessionid 是否存在复用、固定、未加密等缺陷。比如靶场中部分页面退出登录后,本地 Cookie 未失效,直接复制 URL 依旧能访问后台,这就是会话销毁不完善带来的安全风险。同时我掌握了弱密码爆破、验证码绕过、越权访问的基础测试思路,明白身份验证是网站的第一道安全防线,一旦失守核心数据会完全暴露。 这一阶段让我建立起核心思维:渗透测试本质是寻找开发者逻辑疏漏,所有攻击手段都是利用代码、服务器、业务逻辑里不严谨的地方。

三、文件类漏洞:文件包含 & 文件上传漏洞实操

课程中期重点学习两大高危文件漏洞:文件包含与文件上传漏洞。

(一)文件包含漏洞

文件包含分为本地文件包含 LFI 和远程文件包含 RFI。PHP 里include()require()等函数直接接收用户可控参数,未做过滤就会引发漏洞。实操靶场中,页面 URL 存在?file=index.php参数,我修改参数为?file=../etc/passwd(Linux 环境)成功读取服务器敏感配置文件;如果服务器开启 allow_url_include,还能加载远程恶意脚本执行代码。 踩坑点:很多靶场会做简单后缀固定拼接,比如代码自动加上.php,这时需要用 %00 截断(低版本 PHP)或者路径长度截断绕过限制。防御方案也很清晰:白名单限制可包含文件、禁用危险函数、关闭远程包含配置、过滤../路径跳转字符。

(二)文件上传漏洞

文件上传是危害极高的漏洞,目标是上传可执行脚本(php、asp 等)拿到网站权限。课堂实操中我测试了多种绕过方式:

  1. 前端 JS 校验:仅在网页限制后缀,抓包修改数据包后缀即可绕过;
  2. MIME 类型校验:检查 Content-Type,修改请求头类型就能欺骗服务器;
  3. 黑名单过滤:过滤 php,改用 phtml、php3 等冷门可执行后缀;
  4. 图片马配合文件包含:把一句话木马嵌入图片,先上传图片,再通过文件包含漏洞解析图片执行代码。 实操时我曾直接上传 php 文件被拦截,反复测试后用图片马 + 文件包含组合攻击成功拿到 webshell。同时我也总结防御要点:后端严格校验文件后缀、校验文件头部真实类型、重命名上传文件、限定上传目录不可执行脚本。

四、SQL 注入:手工注入与 SQLMap 自动化工具

课程后半段核心是 SQL 注入,分为手工 SQL 注入和 SQLMap 工具自动化注入,这也是 Web 安全里最经典、危害最大的漏洞之一。

1. 手工 SQL 注入学习

SQL 注入成因是页面直接拼接用户输入到 SQL 语句,没有预编译与过滤。我们从最简单的数字型、字符型注入开始练习:

  • 测试注入点:输入'单引号页面报错,证明参数带入 SQL 执行;
  • 判断字段数:order by逐步猜解查询字段数量;
  • 联合查询union select获取数据库名、表名、字段;
  • 脱库读取管理员账号密码。 实操字符型注入时,闭合引号是关键,靶场代码用单引号包裹参数,我构造' or 1=1 --注释掉后续代码,成功绕过登录验证,无需账号密码直接登录后台。手工注入过程繁琐,但能让我透彻理解 SQL 语句执行逻辑,清楚每一步 payload 的作用,为使用工具打下基础。

2. SQLMap 自动化工具实操

手工注入效率极低,大批量测试、脱库都会用到 SQLMap,Kali 系统自带该工具。课堂上我学习常用指令:

  • 基础注入探测:sqlmap -u "注入URL"
  • 获取数据库:sqlmap -u URL --dbs
  • 指定库查表:sqlmap -u URL -D 库名 --tables
  • 读取表数据:sqlmap -u URL -D 库名 -T 表名 --dump实操时针对 GET 型注入一键跑完数据库信息,对比手工注入节省大量时间。同时老师反复强调:工具是辅助,不能只会用工具不懂原理;如果网站做了 WAF、参数加密,SQLMap 直接跑会失败,这时还是需要手工构造绕过 payload。

五、学习感悟与安全思考

整门课程学完,我不再只站在 “攻击者” 视角,更多学会以防御者思维开发网站。所有漏洞都源于开发不规范:

  1. 输入不信任原则:任何前端传过来的数据都不能直接拼接 SQL、文件操作、命令执行;
  2. 分层防御:前端校验仅做体验,核心校验必须放在后端;
  3. 最小权限原则:网站服务器运行账户权限降低,即使被上传木马也无法控制服务器;
  4. 定期漏洞扫描:上线前用工具扫描、人工渗透测试,提前修复漏洞。

同时我也明白网络安全是一把双刃剑,课程所有实操全部在授权靶场完成,未经授权对任意网站进行渗透、攻击、脱库都是违法行为。学习渗透测试的目的是守护安全,挖掘漏洞提前修复,而非恶意破坏。作为计算机专业学生,未来不管是做开发还是安全运维,Web 安全都是必备素养,写出安全健壮的代码是基本责任。

六、后续学习规划

目前我仅掌握基础 Web 漏洞利用,后续计划深化学习:

  1. 进阶漏洞:XSS 跨站、CSRF、SSRF、命令执行等常见漏洞原理与防御;
  2. 工具深挖:熟练 Burp Suite 插件、SQLMap 高级参数、靶场综合漏洞链利用;
  3. 代码审计:读懂 PHP、Python 源码,从代码层寻找漏洞根源;
  4. 合规安全学习:了解等保、渗透测试授权流程,树立合法安全从业意识。

网络安全技术更新极快,漏洞类型、防御策略一直在迭代,只有持续实操、持续复盘,才能不断提升能力。本次课程多个实操项目让我踏出 Web 安全的第一步,后续我会持续在 CSDN 记录更多实操笔记与踩坑总结,稳步深耕网络安全领域。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 11:10:51

uniapp获取App 应用版本信息

if(typeof plus ! undefined){plus.runtime.getProperty(plus.runtime.appid,function(versionInfo){let versionversionInfo.versionlet versionCodeversionInfo.versionCode}) }

作者头像 李华
网站建设 2026/6/16 11:09:50

Zotero插件市场:一站式插件管理终极解决方案

Zotero插件市场:一站式插件管理终极解决方案 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing and installing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 你是否曾为寻找合适的Zo…

作者头像 李华
网站建设 2026/6/16 11:06:55

螺柱焊机寿命全解析:工艺设定、保养要点的核心影响

一、焊接工艺参数对螺柱焊机寿命的影响机制焊接电流:决定核心功率元件的电应力负载焊接电流是能量输入最直接的参数,其设定值与螺柱直径直接相关(经验公式:焊接电流 I ≈ 螺柱直径 d 100 A)。它对设备寿命的影响最为显…

作者头像 李华
网站建设 2026/6/16 11:00:10

电脑连接手机热点全攻略:从原理到优化,打造稳定高效的移动网络

1. 项目概述:从“能不能”到“怎么用”的深度解析“电脑可以连接手机热点吗?”这个问题,乍一听像是刚接触数码设备的新手才会提出的入门级疑问。但作为一名在IT领域摸爬滚打多年的从业者,我深知这个看似简单的问题背后&#xff0c…

作者头像 李华