Parameter Pollution
Parametre Kirliliği
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ı beklenmedik şekillerde değiştirdiği bir tekniktir. Bu manipülasyon, HTTP parametrelerini ekleyerek, değiştirerek veya çoğaltarak gerçekleştirilir. Bu manipülasyonların etkisi kullanıcıya doğrudan görünmez, ancak uygulamanın sunucu tarafındaki işlevselliğini önemli ölçüde değiştirebilir ve istemci tarafında gözlemlenebilir etkiler yaratabilir.
HTTP Parametre Kirliliği (HPP) Örneği
Bir bankacılık uygulaması işlem URL'si:
Orijinal URL:
https://www.victim.com/send/?from=accountA&to=accountB&amount=10000
Ek bir from
parametresi ekleyerek:
Manipüle Edilmiş URL:
https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC
İşlem, accountA
yerine yanlışlıkla accountC
'ye yansıtılabilir ve bu durum HPP'nin işlemleri veya şifre sıfırlama, 2FA ayarları veya API anahtarı talepleri gibi diğer işlevleri manipüle etme potansiyelini göstermektedir.
Teknolojiye Özgü Parametre Ayrıştırma
Parametrelerin nasıl ayrıştırıldığı ve önceliklendirildiği, temel web teknolojisine bağlıdır ve HPP'nin nasıl istismar edilebileceğini etkiler.
Wappalyzer gibi araçlar, bu teknolojileri ve ayrıştırma davranışlarını tanımlamaya yardımcı olur.
PHP ve HPP İstismarı
OTP Manipülasyonu Durumu:
Bağlam: Tek Seferlik Şifre (OTP) gerektiren bir giriş mekanizması istismar edildi.
Yöntem: Burp Suite gibi araçlar kullanarak OTP talebini kesen saldırganlar, HTTP isteğindeki
email
parametresini çoğalttı.Sonuç: İlk e-posta için tasarlanan OTP, manipüle edilmiş istekte belirtilen ikinci e-posta adresine gönderildi. Bu hata, amaçlanan güvenlik önlemini aşarak yetkisiz erişime izin verdi.
Bu senaryo, uygulamanın arka ucundaki kritik bir gözden geçirmeyi vurgular; OTP üretimi için ilk email
parametresini işleyen ancak teslimat için sonuncusunu kullanan bir durumdur.
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 bir geçerli ve bir kötü niyetli
api_key
parametresi içeren bir istek hazırlar. Sunucu, yalnızca sonuncusunu işleyerek, API anahtarını saldırganın sağladığı değere günceller.Sonuç: Saldırgan, mağdurun API işlevselliği üzerinde kontrol kazanır ve muhtemelen özel verilere yetkisiz erişim veya değişiklik yapabilir.
Bu örnek, özellikle API anahtarı yönetimi gibi kritik özelliklerde güvenli parametre yönetiminin gerekliliğini daha da vurgular.
Parametre Ayrıştırma: Flask vs. PHP
Web teknolojilerinin çoğaltılmış HTTP parametrelerini ele alma şekli, HPP saldırılarına karşı duyarlılıklarını etkiler:
Flask: Bir sorgu dizesinde
a=1&a=2
gibi ilk karşılaşılan parametre değerini benimser, ilk örneği sonraki çoğaltmalara tercih eder.PHP (Apache HTTP Sunucusu üzerinde): Aksine, son parametre değerini önceliklendirir ve verilen örnekte
a=2
seçilir. Bu davranış, saldırganın manipüle ettiği parametreyi orijinaline tercih ederek HPP istismarlarını kolaylaştırabilir.
Referanslar
Last updated