HTTP状态码401和403都是与权限和身份验证相关的重要响应代码,但它们的含义和应用场景有所不同。
401 Unauthorized(未授权)
-
定义:状态码401表示请求缺少有效的身份验证凭证,或者提供的凭证是无效的。这通常发生在用户尝试访问受保护的资源时,但未提供所需的身份验证信息(如用户名和密码)或提供的信息不正确。
-
使用场景:
-
用户未提供任何身份验证信息。
-
用户提供了错误的身份验证信息(如错误的密码)。
-
服务器要求用户重新进行身份验证,通常会在响应中包含WWW-Authenticate头,指示如何进行身份验证。
403 Forbidden(禁止访问)
-
定义:状态码403表示服务器理解请求,但拒绝执行。这意味着用户已经通过身份验证,但没有权限访问所请求的资源。
-
使用场景:
-
用户虽然已登录,但没有权限执行某些操作,如尝试访问不允许其访问的页面或资源。
-
服务器可能出于安全原因或配置限制拒绝该请求,即使请求者已被认证。
在身份验证绕过漏洞中,可以通过添加的自定义 HTTP 标头 (X-Custom-IP-Authorization) 时,可能会有效果。如,当它用于识别通过负载均衡器连接到 Web 服务器的客户端的原始 IP 地址时。通过将自己标识为 127.0.0.1,我们可以绕过 Web 应用程序的访问控制并执行特权操作。
现在让我们试试这个:
通过添加 X-Custom-IP-Authorization 请求头并设置为 127.0.0.1,服务器不再返回 401 未授权,而是返回 302 重定向,这意味着该请求头起到了绕过授权的作用。
同时今天介绍一个工具4-ZERO-3:
https://github.com/Dheerajmadhukar/4-ZERO-3
4-ZERO-3 是一个开源工具,旨在帮助用户绕过HTTP状态码403(禁止访问)和401(未授权)错误。该工具提供了一系列方法和技术,允许用户尝试访问被限制的资源。
主要功能
-
绕过403/401限制: 4-ZERO-3工具包含多种技术,帮助用户在遇到403或401错误时找到有效的绕过方法。
-
输出检测: 如果工具输出多个“200 OK”响应,用户需要检查内容长度以确认是否为假阳性,这可能是由于重定向(301/302)或其他因素造成的。
-
支持多种负载: 工具支持使用特定的HTTP头部和协议进行扫描,用户可以自定义请求以尝试不同的绕过策略。
使用示例
通过运行以下命令来使用该工具:
bash 403-bypass.sh -u https://target.com/secret --header
此命令将尝试使用指定的HTTP头部对目标URL进行访问。
也可以使用支持完全扫描端点 [ --exploit ] 功能 。它包括了所有利用的负载:
bash 403-bypass.sh -u https://target.com/secret --exploit
原文始发于微信公众号(赛哈文):网站资源遇到403/401解决办法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论