Parameter Pollution

Parametre Kirliliği

AWS hackleme konusunda sıfırdan kahramana kadar öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı 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 şekilde 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özlemlenebilir etkilere neden 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=hessapA&to=hessapB&miktar=10000

Ek bir from parametresi ekleyerek:

  • Manipüle Edilmiş URL: https://www.kurban.com/gonder/?from=hessapA&to=hessapB&miktar=10000&from=hessapC

İşlem, accountA yerine accountC'ye yanlışlıkla ücretlendirilebilir, 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ı tanımlamaya yardımcı olur.

PHP ve HPP Sömürüsü

OTP Manipülasyonu Durumu:

  • Bağlam: Bir OTP gerektiren giriş mekanizması sömürüldü.

  • Yöntem: Burp Suite gibi araçlar kullanılarak OTP isteği yakalanarak saldırganlar HTTP isteğinde email parametresini çoğalttı.

  • Sonuç: OTP, asıl e-posta için değil, manipüle edilen istekte belirtilen ikinci e-postaya gönderildi. Bu hata, amaçlanan güvenlik önlemini atlayarak yetkisiz erişime izin verdi.

Bu senaryo, uygulamanın arka uçundaki kritik bir gözden kaçırma durumunu vurgular; OTP oluşturmak için ilk email parametresini işledi, ancak teslimat için son parametreyi kullandı.

API Anahtarı Manipülasyonu Durumu:

  • Senaryo: Bir uygulama, kullanıcıların API anahtarlarını profil ayarları sayfası aracılığıyla 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, iki api_key parametresi içeren bir istek oluşturur: biri meşru, diğeri kötü niyetli. Sunucu, yalnızca son oluşumu işleyerek API anahtarını saldırganın sağladığı değere günceller.

  • Sonuç: Saldırgan, kurbanın API işlevi üzerinde kontrol kazanır, potansiyel olarak 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 ele aldığı farklılık gösterir, HPP saldırılarına karşı duyarlılıklarını etkiler:

  • Flask: Sorgu dizesinde a=1&a=2 gibi karşılaşılan ilk parametre değerini benimser, başlangıçtaki örneği sonraki çoğaltmalardan önce önceliklendirir.

  • PHP (Apache HTTP Sunucusu üzerinde): Aksine, verilen örnekte a=2'yi tercih eder. Bu davranış, saldırganın manipüle edilen parametreyi orijinaline tercih ederek HPP sömürülerini yanlışlıkla kolaylaştırabilir.

Referanslar

AWS hackleme konusunda sıfırdan kahramana kadar öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Last updated