8.1 KiB
403和401绕过
从零开始学习AWS黑客攻击直到成为专家 htARTE (HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载HackTricks的PDF,请查看订阅计划!
- 获取官方PEASS & HackTricks商品
- 发现PEASS家族,我们独家的NFTs系列
- 加入 💬 Discord群组 或 telegram群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github仓库提交PR来分享您的黑客技巧。**
即时可用的漏洞评估和渗透测试设置。从任何地方运行完整的渗透测试,拥有20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发定制工具、检测和利用模块,以便他们有更多时间深入挖掘、弹出shell,并享受乐趣。
{% embed url="https://pentest-tools.com/" %}
HTTP动词/方法Fuzzing
尝试使用不同的动词来访问文件: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头部Fuzzing
-
更改Host头部为一些任意值(在这里有效)
-
尝试使用其他用户代理来访问资源。
-
Fuzz 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请求走私 或 逐跳头部。
- Fuzz 特殊HTTP头部寻找不同的响应。
- Fuzz特殊HTTP头部同时fuzzing HTTP方法。
- 移除Host头部,也许您将能够绕过保护。
路径Fuzzing
如果_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
- 移除参数
- 重新排序参数
- 使用特殊字符。
- 在参数中进行边界测试 - 提供像 -234 或 0 或 99999999 这样的值(仅举几个例子)。
协议版本
如果使用HTTP/1.1 尝试使用1.0 或甚至测试是否支持2.0。
其他绕过
- 获取IP或CNAME域名并尝试直接联系。
- 尝试压力测试服务器发送常见的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
自动化工具
- https://github.com/lobuhi/byp4xx
- https://github.com/iamj0ker/bypass-403
- https://github.com/gotr00t0day/forbiddenpass
- Burp 扩展 - 403 Bypasser
- Forbidden Buster
即刻可用的漏洞评估与渗透测试设置。从任何地方运行完整的渗透测试,拥有20多个从侦察到报告的工具和功能。我们不替代渗透测试人员 - 我们开发定制工具、检测和利用模块,以便他们有更多时间深入挖掘、弹出shell,并享受乐趣。
{% embed url="https://pentest-tools.com/" %}
通过 htARTE (HackTricks AWS Red Team Expert)从零开始学习AWS黑客技术!
其他支持HackTricks的方式:
- 如果您想在HackTricks中看到您的公司广告或下载HackTricks的PDF,请查看订阅计划!
- 获取官方的PEASS & HackTricks商品
- 发现PEASS家族,我们独家的NFTs系列
- 加入 💬 Discord群组 或 telegram群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github仓库提交PR来分享您的黑客技巧。