Web 渗透测试课程学习心得

Web 渗透测试课程学习心得 一、前言这个学期系统学习了 Web 渗透测试课程从基础的代理爬虫、身份会话测试到文件包含、文件上传漏洞再到手工 SQL 注入与 SQLMap 工具自动化注入一步步从零接触网络安全攻防。过去我对网络安全的认知只停留在 “黑客攻击网站” 的模糊印象经过课堂实操、靶场练习与项目实操我真正理解了漏洞产生原理、利用思路以及对应的防御方案。本篇博文结合课堂多个实操项目记录我的学习过程、实操踩坑经验与技术总结。二、课程基础项目代理、爬虫与身份会话测试课程前期我们完成了项目 3-1 代理、爬虫和爬行器以及项目 4 系列身份验证和会话管理测试。 最开始上手 Burp Suite 代理工具时屡屡遇到浏览器抓不到包的问题一开始没正确配置浏览器代理端口证书未安装导致 HTTPS 流量拦截失败反复对照教程一步步排查才解决。学会抓包改包是渗透测试的基础所有漏洞测试都离不开对 HTTP 请求数据包的观测与修改。 在会话管理测试实操里我学会测试 Cookie、Sessionid 是否存在复用、固定、未加密等缺陷。比如靶场中部分页面退出登录后本地 Cookie 未失效直接复制 URL 依旧能访问后台这就是会话销毁不完善带来的安全风险。同时我掌握了弱密码爆破、验证码绕过、越权访问的基础测试思路明白身份验证是网站的第一道安全防线一旦失守核心数据会完全暴露。 这一阶段让我建立起核心思维渗透测试本质是寻找开发者逻辑疏漏所有攻击手段都是利用代码、服务器、业务逻辑里不严谨的地方。三、文件类漏洞文件包含 文件上传漏洞实操课程中期重点学习两大高危文件漏洞文件包含与文件上传漏洞。一文件包含漏洞文件包含分为本地文件包含 LFI 和远程文件包含 RFI。PHP 里include()、require()等函数直接接收用户可控参数未做过滤就会引发漏洞。实操靶场中页面 URL 存在?fileindex.php参数我修改参数为?file../etc/passwdLinux 环境成功读取服务器敏感配置文件如果服务器开启 allow_url_include还能加载远程恶意脚本执行代码。 踩坑点很多靶场会做简单后缀固定拼接比如代码自动加上.php这时需要用 %00 截断低版本 PHP或者路径长度截断绕过限制。防御方案也很清晰白名单限制可包含文件、禁用危险函数、关闭远程包含配置、过滤../路径跳转字符。二文件上传漏洞文件上传是危害极高的漏洞目标是上传可执行脚本php、asp 等拿到网站权限。课堂实操中我测试了多种绕过方式前端 JS 校验仅在网页限制后缀抓包修改数据包后缀即可绕过MIME 类型校验检查 Content-Type修改请求头类型就能欺骗服务器黑名单过滤过滤 php改用 phtml、php3 等冷门可执行后缀图片马配合文件包含把一句话木马嵌入图片先上传图片再通过文件包含漏洞解析图片执行代码。 实操时我曾直接上传 php 文件被拦截反复测试后用图片马 文件包含组合攻击成功拿到 webshell。同时我也总结防御要点后端严格校验文件后缀、校验文件头部真实类型、重命名上传文件、限定上传目录不可执行脚本。四、SQL 注入手工注入与 SQLMap 自动化工具课程后半段核心是 SQL 注入分为手工 SQL 注入和 SQLMap 工具自动化注入这也是 Web 安全里最经典、危害最大的漏洞之一。1. 手工 SQL 注入学习SQL 注入成因是页面直接拼接用户输入到 SQL 语句没有预编译与过滤。我们从最简单的数字型、字符型注入开始练习测试注入点输入单引号页面报错证明参数带入 SQL 执行判断字段数order by逐步猜解查询字段数量联合查询union select获取数据库名、表名、字段脱库读取管理员账号密码。 实操字符型注入时闭合引号是关键靶场代码用单引号包裹参数我构造 or 11 --注释掉后续代码成功绕过登录验证无需账号密码直接登录后台。手工注入过程繁琐但能让我透彻理解 SQL 语句执行逻辑清楚每一步 payload 的作用为使用工具打下基础。2. SQLMap 自动化工具实操手工注入效率极低大批量测试、脱库都会用到 SQLMapKali 系统自带该工具。课堂上我学习常用指令基础注入探测sqlmap -u 注入URL获取数据库sqlmap -u URL --dbs指定库查表sqlmap -u URL -D 库名 --tables读取表数据sqlmap -u URL -D 库名 -T 表名 --dump实操时针对 GET 型注入一键跑完数据库信息对比手工注入节省大量时间。同时老师反复强调工具是辅助不能只会用工具不懂原理如果网站做了 WAF、参数加密SQLMap 直接跑会失败这时还是需要手工构造绕过 payload。五、学习感悟与安全思考整门课程学完我不再只站在 “攻击者” 视角更多学会以防御者思维开发网站。所有漏洞都源于开发不规范输入不信任原则任何前端传过来的数据都不能直接拼接 SQL、文件操作、命令执行分层防御前端校验仅做体验核心校验必须放在后端最小权限原则网站服务器运行账户权限降低即使被上传木马也无法控制服务器定期漏洞扫描上线前用工具扫描、人工渗透测试提前修复漏洞。同时我也明白网络安全是一把双刃剑课程所有实操全部在授权靶场完成未经授权对任意网站进行渗透、攻击、脱库都是违法行为。学习渗透测试的目的是守护安全挖掘漏洞提前修复而非恶意破坏。作为计算机专业学生未来不管是做开发还是安全运维Web 安全都是必备素养写出安全健壮的代码是基本责任。六、后续学习规划目前我仅掌握基础 Web 漏洞利用后续计划深化学习进阶漏洞XSS 跨站、CSRF、SSRF、命令执行等常见漏洞原理与防御工具深挖熟练 Burp Suite 插件、SQLMap 高级参数、靶场综合漏洞链利用代码审计读懂 PHP、Python 源码从代码层寻找漏洞根源合规安全学习了解等保、渗透测试授权流程树立合法安全从业意识。网络安全技术更新极快漏洞类型、防御策略一直在迭代只有持续实操、持续复盘才能不断提升能力。本次课程多个实操项目让我踏出 Web 安全的第一步后续我会持续在 CSDN 记录更多实操笔记与踩坑总结稳步深耕网络安全领域。