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

9.4 KiB
Raw Blame History

403和401绕过

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥

DragonJAR Security Conference是一场国际网络安全活动已经举办了十多年将于2023年9月7日至8日在哥伦比亚波哥大举行。这是一个内容丰富的技术活动展示了吸引全球黑客和研究人员的最新西班牙语研究成果。 立即在以下链接注册,不要错过这个重要的会议!:

{% embed url="https://www.dragonjarcon.org/" %}

HTTP动词/方法模糊测试

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

  • 检查响应头,可能会提供一些信息。例如,对于带有Content-Length: 55HEAD响应,意味着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方法时,模糊测试特殊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 Parameter Pollution)
  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Parameter Pollution)

参数操纵

  • 更改参数值:从**id=123 --> id=124**
  • 在URL中添加额外的参数?id=124 —-> id=124&isAdmin=true
  • 删除参数
  • 重新排序参数
  • 使用特殊字符。
  • 在参数中进行边界测试-提供像_-234_或_0_或_99999999_这样的值只是一些示例值

协议版本

如果使用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 %}

自动化工具

DragonJAR Security Conference是一场国际网络安全活动已经举办了十多年将于2023年9月7日至8日在哥伦比亚波哥大举行。这是一个内容丰富的技术活动展示了最新的西班牙语研究成果吸引了来自世界各地的黑客和研究人员。
立即在以下链接注册,不要错过这个重要的会议!:

{% embed url="https://www.dragonjarcon.org/" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥