Web 应用暴露的内容远不止浏览器中可见的链接。未链接的目录、基于名称的虚拟主机、未记录的参数和 API 路由都可能扩大攻击面。本课程将带你发现这些元素,并检查访问它们时使用的 HTTP 请求。
你将使用 ffuf、Gobuster、curl 和 jq 对本地目标进行操作,从内容枚举逐步过渡到精确构造请求和与 REST API 交互。最后的挑战会综合这些技能:发现隐藏虚拟主机、定位其 API 路径,并构造获取实验令牌所需的请求。
你将学到什么
- 配合提供的字典使用
ffuf枚举隐藏目录,并按 HTTP 状态码筛选结果。 - 使用 Gobuster 搜索带有
.php、.txt等指定扩展名的文件。 - 对
Host请求头进行模糊测试,并按响应大小过滤默认页面,从而发现基于名称的虚拟主机。 - 模糊测试未记录的 GET 和 POST 参数名,并验证由此产生的应用行为。
- 使用
curl查看详细 HTTP 交互,并构造查询字符串、请求头、Cookie 和表单请求体。 - 登录本地 REST API、发送 Bearer 令牌、用
jq解析 JSON,并练习 PUT 与 DELETE 方法。 - 在独立映射挑战中结合虚拟主机发现、目录枚举和自定义 API 请求。
本课程适合谁
这是一门中级课程,适合已理解基础 Web 请求、希望动手练习 Web 攻击面映射的安全学习者,也适合准 Web 渗透测试人员、API 安全学习者,以及希望了解隐藏路由和客户端可控 HTTP 字段如何被测试的开发与防御人员。
前置要求: 熟悉 Linux 终端和基本重定向,并理解 URL、HTTP 方法、请求头、状态码及 JSON 结构。
学习环境: Ubuntu 22.04 终端,提供 ffuf、Gobuster、curl、jq、实验字典,以及运行在 8080 端口的隔离本地 Web 和 API 目标。不会扫描公网系统。
常见问题
课程会使用 Burp Suite 或其他图形化拦截代理吗?
不会。HTTP 拦截实验通过 curl 的详细输出,手动练习读取和修改请求组成部分。它为后续使用图形化代理打下基础,但不教授 Burp Suite 或 OWASP ZAP 工作流。
这里的模糊测试会用于猜测密码吗?
不会。练习使用提供的小型字典测试目录名、文件名、虚拟主机名和参数名,不进行凭据暴力破解。
我会向真实网站发送请求吗?
不会。所有枚举和 API 请求都以课程环境内 127.0.0.1 或 localhost 的 8080 端口服务为目标。
我会执行哪些 API 操作?
你将识别端点、使用固定实验凭据登录、传递 Bearer 令牌、从 JSON 中提取字段,并发送 PUT 和 DELETE 请求修改隔离练习 API 中的数据。最终挑战还要求使用自定义请求头发送 POST 请求以获取实验令牌。





