Web 漏洞精通

在本课程中,你将学习最常见的 Web 漏洞及其利用方法。你将了解 SQL 注入、文件包含、跨站脚本攻击 (XSS)、文件上传、命令注入和目录遍历漏洞。你还将学习如何使用各种技术和工具来利用这些漏洞。

网络安全网页开发

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

“Web 漏洞精通”是一门面向初学者的引导式课程,帮助你理解不安全的输入处理如何变成可利用的 Web 应用漏洞。你将在 8 个实操实验中通过 Docker 运行特意设计为存在漏洞的 PHP 应用,检查其行为和源代码片段,并使用 Firefox 或终端进行测试。

课程沿着多条不同的攻击路径展开:针对数据库查询的 SQL 注入、本地与远程文件包含、反射型跨站脚本攻击、危险文件上传、操作系统命令注入和 PHP 代码注入。每个实验都会把一种脆弱编码模式与可观察的结果联系起来,例如绕过认证、提取数据、执行脚本、读取文件或建立 Web Shell。

你将学到什么

完成本课程后,你将能够:

  • 使用 Docker 启动特意设计的漏洞应用,并通过 Firefox、URL 参数、表单和 Hackbar 与其交互
  • 通过错误响应和真假条件测试发现 SQL 注入,区分数字与字符串上下文,并确定查询列数
  • 使用 UNION SELECT 和 information_schema 识别 MySQL 数据库结构、提取数据,并绕过不安全的登录查询
  • 区分静态 PHP 文件包含与受用户控制的文件包含,并使用受控载荷确认本地或远程包含
  • 构造反射型 XSS 载荷,并通过替代元素和事件处理器形式绕过简单的大小写敏感过滤
  • 检查文件上传验证,上传 PHP 测试页面或命令 Shell,并探索可选的扩展名绕过方式
  • 利用被传入操作系统命令的不安全输入,执行附加命令并在实验环境中建立反向 Shell
  • 逃逸传给 PHP eval() 的字符串以调用函数、读取服务器文件、写入新文件并创建简单的 Web Shell

本课程适合谁

本课程适合希望通过引导式实践,把脆弱 PHP 代码与可运行概念验证载荷联系起来的 Web 安全测试初学者、开发者、CTF 学习者和网络安全入门者。如果你希望先通过浏览器实验和直接修改 URL 建立基础,再进入完整的拦截代理工作流,这门课程会比较合适。

前置要求: 建议具备基本的 Linux 终端操作能力,并熟悉 URL、查询参数、HTML 表单和简单 Web 请求。初步了解 PHP 与 SQL 会让源代码讲解更容易理解,但实验会在相关语法出现时进行说明。

学习环境: 实验使用隔离的 LabEx 图形化 Linux 环境,其中包含 Firefox、终端、Docker、本地漏洞 Web 应用和课程提供的 Hackbar 扩展文件。部分实验会拉取公共 Docker 镜像,一个远程文件包含演示还会请求公开的 PentesterLab 载荷;课程没有要求登录第三方账户。

常见问题

需要使用 Burp Suite 或其他拦截代理吗?

不需要。实验使用 Firefox、直接输入 URL 和表单、浏览器开发者工具、Hackbar 及终端命令。通过 Burp Suite 拦截并修改原始 HTTP 流量不在本课程范围内。

所有漏洞应用都在本地托管吗?

应用本身会在实验内的本地 Docker 容器中运行。初始化命令需要从容器镜像仓库拉取公共镜像,远程文件包含实验还会加载一个公开托管的演示载荷,因此该实验并非完全离线。

课程中的命令注入与代码注入有什么区别?

命令注入实验把不可信输入放入系统命令,并演示如何执行额外的操作系统命令。代码注入实验则把输入放进传给 eval() 的 PHP 字符串,使注入的 PHP 函数能够读取或写入文件并创建 Web Shell。

课程会讲解如何修复所有漏洞吗?

课程解释了不安全模式,并介绍扩展名、MIME 类型和文件大小验证等检查,但实操主要聚焦漏洞利用。安全查询参数化、系统化输出编码、生产级上传架构和完整修复验证还需要进一步学习。

教师

labby
Labby
Labby is the LabEx teacher.