HTTP Parameter Pollution

HTTP Parameter Pollution Nedir?

HTTP Parameter Pollution (HPP), web uygulamalarında HTTP isteklerinde aynı parametre adıyla birden fazla değer gönderilmesiyle ortaya çıkan bir güvenlik zafiyetidir. Bu tür saldırılar, web uygulamalarının bu parametreleri nasıl işlediğine bağlı olarak, beklenmedik davranışlara yol açabilir ve güvenlik açıklarına neden olabilir. HPP, kullanıcıların URL, POST veri alanları, çerezler veya HTTP başlıkları gibi alanlarda aynı parametreyi tekrar tekrar eklemelerine olanak tanır. Bu tür bir saldırı, kullanıcı yetkilendirme, erişim kontrolü ve veri doğrulama gibi kritik güvenlik mekanizmalarının atlatılmasına yol açabilir.

Nasıl Test Edilir?

Aynı Parametreyi Gönder

Aynı parametreyi iki defa gönderin. Son girdiyiyi mi ilk girdiyi mi yoksa ikisinin birleşimini mi işliyor bunu analiz edin.

Bu methodu hem post hem get isteklerinde yapabilirsiniz.

http://example.com/?search=car&search=phone

Farklı Metodlar ile Gönder

Bir parametreyi post isteğinde hem url parametresi hem body kısmında gönderin.

POST /search=car HTTP/1.1
Host: example.com

search=phone

Client-Side HPP

Parametreleri %26HPP_TEST ifadesi ekleyin sonrasında kullanıcıya döndürülen parametreye baktın. Eğer %26 & olarak işleniyorsa zafiyet vardır.

http://example.com/?search=car%26HPP_TEST

result => car&HPP_TEST

Kaynaklar

Owasp: https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/07-Input_Validation_Testing/04-Testing_for_HTTP_Parameter_Pollution

Last updated