hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
2023-08-03 19:12:22 +00:00

9.7 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 未授权
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<合法_id>","user_id":"<受害者_id>"} (JSON 参数污染)
  • user_id=攻击者_ID&user_id=受害者_ID (参数污染)

协议版本

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

其他绕过方法

  • 获取域名的 IPCNAME,尝试直接联系。
  • 尝试通过发送常见的 GET 请求来 压力测试服务器这个人在 Facebook 上成功了)。
  • 更改协议:从 http 到 https或从 https 到 http。
  • 前往 https://archive.org/web/,检查过去该文件是否 全球可访问

暴力破解

  • 猜测密码:尝试以下常见凭据。你了解受害者的一些信息吗?或者了解 CTF 挑战的名称吗?
  • 暴力破解 尝试基本、摘要和 NTLM 认证。

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

```
```markdown
# 403和401绕过

## 403绕过

### 1. 目录遍历

尝试通过目录遍历绕过403错误。使用`../`来访问上级目录。

### 2. 文件扩展名绕过

尝试更改文件扩展名来绕过403错误。例如将`.php`更改为`.phpx`。

### 3. URL编码绕过

尝试使用URL编码绕过403错误。例如将`/`编码为`%2f`。

### 4. Referer头绕过

尝试更改Referer头来绕过403错误。使用浏览器插件或代理工具来修改Referer头。

### 5. User-Agent头绕过

尝试更改User-Agent头来绕过403错误。使用浏览器插件或代理工具来修改User-Agent头。

## 401绕过

### 1. 常见凭证

尝试使用常见的凭证来绕过401错误。例如使用以下用户名和密码组合

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

```html
<!-- Chinese Translation -->
```
```

{% endcode %}

自动化工具

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

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

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