403 & 401 Bypass'ları
Reading time: 5 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın:
HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
HTTP Fiilleri/Yöntemleri Fuzzing
Dosyaya erişmek için farklı fiiller kullanmayı deneyin: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
- Yanıt başlıklarını kontrol edin, belki bazı bilgiler verilebilir. Örneğin, HEAD için 200 yanıtı ve
Content-Length: 55demek ki HEAD fiili bilgiye erişebilir. Ama bu bilgiyi dışarı çıkarmanın bir yolunu bulmanız gerekiyor. X-HTTP-Method-Override: PUTgibi bir HTTP başlığı kullanmak, kullanılan fiili geçersiz kılabilir.TRACEfiilini kullanın ve çok şanslıysanız belki yanıt içinde ara proxy'ler tarafından eklenen başlıkları görebilirsiniz, bu başlıklar faydalı olabilir.
HTTP Başlıkları Fuzzing
-
Host başlığını rastgele bir değere değiştirin (burada işe yaradı)
-
Kaynağa erişmek için diğer Kullanıcı Araçlarını kullanmayı deneyin.
-
HTTP Başlıklarını Fuzzing: HTTP Proxy Başlıkları, HTTP Kimlik Doğrulama Temel ve NTLM brute-force (sadece birkaç kombinasyon ile) ve diğer teknikleri kullanmayı deneyin. Bütün bunları yapmak için fuzzhttpbypass aracını oluşturdum.
-
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
Eğer yol korunuyorsa, bu diğer başlıkları kullanarak yol korumasını aşmayı deneyebilirsiniz:
-
X-Original-URL: /admin/console -
X-Rewrite-URL: /admin/console -
Eğer sayfa bir proxy'nin arkasındaysa, belki de proxy, özel bilgilere erişmenizi engelliyordur. HTTP İstek Kaçırma veya hop-by-hop başlıkları** kötüye kullanmayı deneyin.**
-
Farklı yanıtlar aramak için özel HTTP başlıklarını fuzzing yapın.
-
HTTP Yöntemlerini fuzzing yaparken özel HTTP başlıklarını fuzzing yapın.
-
Host başlığını kaldırın ve belki de korumayı aşabileceksiniz.
Yol Fuzzing
Eğer /path engellenmişse:
/%2e/pathkullanmayı deneyin (eğer erişim bir proxy tarafından engelleniyorsa, bu korumayı aşabilir). Ayrıca/%252e**/path(çift URL kodlaması) deneyin.- Unicode bypass deneyin: /%ef%bc%8fpath (URL kodlu karakterler "/" gibidir) böylece geri kodlandığında //path olacak ve belki de /path adı kontrolünü aşmış olacaksınız.
- Diğer yol bypass'ları:
- site.com/secret –> HTTP 403 Yasak
- site.com/SECRET –> HTTP 200 Tamam
- site.com/secret/ –> HTTP 200 Tamam
- site.com/secret/. –> HTTP 200 Tamam
- site.com//secret// –> HTTP 200 Tamam
- site.com/./secret/.. –> HTTP 200 Tamam
- site.com/;/secret –> HTTP 200 Tamam
- site.com/.;/secret –> HTTP 200 Tamam
- site.com//;//secret –> HTTP 200 Tamam
- site.com/secret.json –> HTTP 200 Tamam (ruby)
- Aşağıdaki durumlarda bu listeyi kullanın:
- /FUZZsecret
- /FUZZ/secret
- /secretFUZZ
- Diğer API bypass'ları:
- /v3/users_data/1234 --> 403 Yasak
- /v1/users_data/1234 --> 200 Tamam
- {“id”:111} --> 401 Yetkisiz
- {“id”:[111]} --> 200 Tamam
- {“id”:111} --> 401 Yetkisiz
- {“id”:{“id”:111}} --> 200 Tamam
- {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON Parametre Kirliliği)
- user_id=ATTACKER_ID&user_id=VICTIM_ID (Parametre Kirliliği)
Parametre Manipülasyonu
- param değerini değiştirin:
id=123-->id=124 - URL'ye ek parametreler ekleyin:
?id=124—->id=124&isAdmin=true - Parametreleri kaldırın
- Parametrelerin sırasını değiştirin
- Özel karakterler kullanın.
- Parametrelerde sınır testi yapın — -234 veya 0 veya 99999999 gibi değerler sağlayın (sadece bazı örnek değerler).
Protokol versiyonu
HTTP/1.1 kullanıyorsanız 1.0 kullanmayı deneyin veya 2.0'ı destekleyip desteklemediğini test edin.
Diğer Bypass'lar
- Alan adının IP veya CNAME'sini alın ve doğrudan iletişim kurmayı deneyin.
- Sunucuyu zorlayın yaygın GET istekleri göndererek (Bu adam için işe yaradı).
- Protokolü değiştirin: http'den https'ye veya https'den http'ye.
- https://archive.org/web/ adresine gidin ve geçmişte o dosyanın dünya çapında erişilebilir olup olmadığını kontrol edin.
Brute Force
- Şifreyi tahmin edin: Aşağıdaki yaygın kimlik bilgilerini test edin. Kurban hakkında bir şey biliyor musunuz? Ya da CTF meydan okuma adı?
- Brute force: Temel, digest ve NTLM kimlik doğrulamasını deneyin.
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
Otomatik Araçlar
- https://github.com/lobuhi/byp4xx
- https://github.com/iamj0ker/bypass-403
- https://github.com/gotr00t0day/forbiddenpass
- Burp Extension - 403 Bypasser
- Forbidden Buster
- NoMoreForbidden
tip
AWS Hacking'i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın:
HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
HackTricks