hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md

8.5 KiB
Raw Blame History

403 & 401 Bypasses

{% hint style="success" %} 学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}

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

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

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%8fpathURL 编码字符类似于 "/"),因此当重新编码时将变为 //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 身份验证。

{% code title="常见凭据" %}

admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

{% endcode %}

自动工具

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

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

{% hint style="success" %} 学习和实践AWS黑客攻击HackTricks培训AWS红队专家ARTE
学习和实践GCP黑客攻击HackTricks培训GCP红队专家GRTE

支持HackTricks
{% endhint %}