hacktricks/pentesting-web/parameter-pollution.md
2024-02-10 18:14:16 +00:00

6.4 KiB
Raw Blame History

Parametre Kirliliği

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'i desteklemenin diğer yolları:

HTTP Parametre Kirliliği (HPP) Genel Bakış

HTTP Parametre Kirliliği (HPP), saldırganların HTTP parametrelerini manipüle ederek bir web uygulamasının davranışını istenmeyen şekillerde değiştirdiği bir tekniktir. Bu manipülasyon, HTTP parametrelerinin eklenmesi, değiştirilmesi veya çoğaltılması yoluyla gerçekleştirilir. Bu manipülasyonların etkisi doğrudan kullanıcıya görünmez, ancak sunucu tarafında uygulamanın işlevselliğini önemli ölçüde değiştirebilir ve istemci tarafında gözle görülür etkilere sahip olabilir.

HTTP Parametre Kirliliği (HPP) Örneği

Bir bankacılık uygulaması işlem URL'si:

  • Orijinal URL: https://www.kurban.com/gonder/?from=hspA&to=hspB&miktar=10000

Ek bir from parametresi ekleyerek:

  • Manipüle Edilmiş URL: https://www.kurban.com/gonder/?from=hspA&to=hspB&miktar=10000&from=hspC

İşlem, from parametresinin hspA yerine yanlışlıkla hspC hesabına tahsil edilebilir ve bu da HPP'nin işlemleri veya şifre sıfırlamaları, 2FA ayarları veya API anahtar istekleri gibi diğer işlevleri manipüle etme potansiyelini gösterir.

Teknolojiye Özgü Parametre Ayrıştırma

  • Parametrelerin nasıl ayrıştırıldığı ve önceliklendirildiği, temel web teknolojisine bağlı olarak değişir ve HPP'nin nasıl sömürülebileceğini etkiler.
  • Wappalyzer gibi araçlar, bu teknolojileri ve ayrıştırma davranışlarını belirlemeye yardımcı olur.

PHP ve HPP Sömürüsü

OTP Manipülasyonu Durumu:

  • Bağlam: Bir One-Time Password (OTP) gerektiren bir giriş mekanizması sömürüldü.
  • Yöntem: Saldırganlar, Burp Suite gibi araçları kullanarak OTP isteğini onaylayarak HTTP isteğindeki email parametresini çoğalttı.
  • Sonuç: İlk e-posta için tasarlanan OTP, manipüle edilen istekte belirtilen ikinci e-posta adresine gönderildi. Bu hata, amaçlanan güvenlik önlemini atlayarak yetkisiz erişime izin verdi.

Bu senaryo, uygulamanın arka uç tarafında kritik bir gözden kaçırma durumunu vurgulamaktadır. İlk email parametresi, OTP oluşturmak için işlenirken, teslimat için son parametre kullanılmıştır.

API Anahtar Manipülasyonu Durumu:

  • Senaryo: Bir uygulama, kullanıcıların profil ayarları sayfası aracılığıyla API anahtarlarını güncellemelerine izin verir.
  • Saldırı Vektörü: Bir saldırgan, POST isteğine ek bir api_key parametresi ekleyerek API anahtar güncelleme işlevinin sonucunu manipüle edebileceğini keşfeder.
  • Teknik: Burp Suite gibi bir araç kullanarak, saldırgan, isteğe hem meşru hem de kötü niyetli bir api_key parametresi içeren bir istek oluşturur. Sunucu, yalnızca son örneği işleyerek API anahtarını saldırganın sağladığı değere günceller.
  • Sonuç: Saldırgan, kurbanın API işlevselliği üzerinde kontrol kazanır ve yetkisiz şekilde özel verilere erişebilir veya bunları değiştirebilir.

Bu örnek, özellikle API anahtar yönetimi gibi kritik özelliklerde güvenli parametre işleme gerekliliğini vurgular.

Parametre Ayrıştırma: Flask vs. PHP

Web teknolojilerinin çift HTTP parametrelerini nasıl işlediği farklılık gösterir ve HPP saldırılarına karşı hassasiyetlerini etkiler:

  • Flask: Sorgu dizesinde a=1&a=2 gibi bir durumda, ilk parametre değerini benimser ve başlangıçtaki örneği sonraki çoğaltmalardan önce tercih eder.
  • PHP (Apache HTTP Sunucusu üzerinde): Aksine, verilen örnekte a=2'yi tercih eder. Bu davranış, saldırganın orijinal parametrenin üzerine manipüle edilen parametreyi onaylayarak istemeden HPP saldırılarını kolaylaştırabilir.

Referanslar

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'i desteklemenin diğer yolları: