步骤
打开题目

点击Give me Flag

点击F12找信息,可以看到有两个个状态为302的域名

使用curl拿到flag

所需知识点
HTTP 临时重定向 是 HTTP 协议中,服务器向客户端返回的一种临时性资源地址变更响应机制,属于 HTTP 3xx 重定向状态码体系下的核心类型,其核心作用是告知客户端当前请求的目标资源暂时未位于请求的 URI 路径下,需要通过服务器指定的新 URI 完成本次请求访问,且该地址指向关系仅为临时生效,不具备永久性变更的语义,客户端在后续访问中仍需优先使用原始请求地址,不可将重定向地址固化为资源的永久访问路径。
从协议语义层面来看,临时重定向的本质是服务器对客户端请求路径的临时调度与中转,并非资源的永久迁移,它不会改变客户端对资源原始 URI 的认知与默认访问逻辑,仅作用于当前单次请求的响应流程,区别于永久重定向的核心特征就在于无缓存绑定、无地址固化、无长期指向效力。
在 HTTP 标准规范中,临时重定向对应多个具体状态码,包括 302 Found、307 Temporary Redirect 等,不同状态码虽在请求方法保留规则、浏览器兼容行为上存在细节差异,但均归属临时重定向范畴,统一遵循临时跳转、不修改资源原始地址认知的核心定义。
从通信流程上,临时重定向发生在客户端发起 HTTP 请求、服务器接收并解析请求之后,服务器判断资源临时不可用或需临时调度时,会返回包含 3xx 临时重定向状态码及 Location 响应头的 HTTP 响应报文,客户端接收到该响应后,自动解析 Location 字段中的目标地址,并向新 URI 发起二次请求,整个过程由 HTTP 协议标准驱动,无需用户手动干预,是无状态协议下实现资源临时调度的标准化方式。
从功能意义来讲,HTTP 临时重定向是 Web 服务中保障请求可达性、实现临时业务调度、维护服务可用性的重要机制,它在不改变资源永久标识、不影响客户端默认访问逻辑的前提下,完成临时场景下的请求转发,既满足了临时性业务调整、服务临时维护、临时流量分流等实际需求,又遵循了 HTTP 协议的语义规范,保证了网络通信的稳定性、兼容性与可预期性,是 HTTP 应用层协议中支撑动态 Web 服务运行的重要基础机制。
302 Found 是 HTTP/1.0 与 HTTP/1.1 协议中定义的临时重定向状态码,属于 3xx 重定向响应类别,用于告知客户端:所请求的资源当前临时位于另一个 URI 下,但原 URI 仍然有效,客户端在后续请求中应继续使用原始 URI。
从协议语义上,302 的核心定位是临时性、非永久、不改变资源的标准访问地址,服务器仅在本次请求处理中要求客户端跳转,不建议客户端将新 URI 缓存为资源的固定地址,也不允许将其用于更新书签、链接或资源标识。
1. 协议标准定义
在 HTTP 规范中,302 的原始语义为:
请求的资源暂时分配给了新的 URI;
由于重定向可能被服务器随时修改,客户端应当继续使用原始请求 URI 发起后续请求;
响应中必须携带 Location 头部,指明临时目标地址;
状态码明确属于临时重定向,区别于代表永久迁移的 301。
2. 关键行为:请求方法的改变(历史兼容特性)
302 最核心、最容易引发误解的特征,在于它允许客户端在重定向时修改请求方法:
原始规范并未严格禁止将 POST 请求转换为 GET 请求;
实际浏览器与客户端实现中,几乎统一形成了约定行为:
原始请求为 POST 时,重定向后的请求自动改为 GET;
这种行为并非严格符合最初的理论语义,但长期成为事实标准,广泛存在于各类 Web 服务器、代理、网关与浏览器中。
这也是为什么后来 HTTP/1.1 新增 307 Temporary Redirect 的原因:307 严格禁止修改请求方法,而 302 保留了历史兼容行为。
3. 客户端处理规则
当客户端收到 302 响应时,标准处理流程为:
读取响应头中的 Location 字段,获取临时目标 URI;
自动向该 URI 发起新的请求;
不缓存、不固化该重定向规则;
后续再次访问原 URI 时,仍直接请求原地址,而非直接跳转到 Location 地址。
4. 与 301、307 的核心区别(仅理论)
301 Moved Permanently:永久重定向,代表资源已永久迁移,客户端可缓存新地址并长期使用;
302 Found:临时重定向,允许重定向时将 POST 转为 GET;
307 Temporary Redirect:临时重定向,严格保留原请求方法与请求体,不允许修改。
三者同属重定向,但在持久性与请求方法是否可变更上存在明确语义差异。
5. 适用场景的理论描述
302 适用于所有临时性、短期性、非永久性的资源调整场景,例如:
服务临时维护期间的临时跳转;
短期流量分流、临时活动入口;
会话未生效、权限临时校验时的临时中转;
不需要严格保留请求方法的临时跳转。
其适用前提是:资源地址只是临时变动,未来仍会恢复使用原始 URI。
6. 协议意义
302 是 HTTP 应用层实现请求柔性调度的重要机制,它在不破坏资源永久标识、不修改服务核心路由结构的前提下,实现了请求的临时转发与服务可用性保障,同时保持了协议的向后兼容性,是早期 Web 架构中最常用的临时重定向方式,至今仍在大量系统中稳定使用。