Parameter Pollution

Parameter Pollution

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Pregled HTTP Parameter Pollution (HPP)

HTTP Parameter Pollution (HPP) je tehnika gde napadači manipulišu HTTP parametrima kako bi promenili ponašanje veb aplikacije na neželjen način. Ova manipulacija se vrši dodavanjem, modifikovanjem ili dupliranjem HTTP parametara. Efekat ovih manipulacija nije direktno vidljiv korisniku, ali može značajno promeniti funkcionalnost aplikacije na serverskoj strani, sa vidljivim uticajima na klijentskoj strani.

Primer HTTP Parameter Pollution (HPP)

URL transakcije bankarske aplikacije:

  • Originalni URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000

Ubacivanjem dodatnog from parametra:

  • Manipulisani URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC

Transakcija može biti pogrešno naplaćena na accountC umesto na accountA, prikazujući potencijal HPP-a za manipulaciju transakcijama ili drugim funkcionalnostima poput resetovanja lozinke, podešavanja 2FA ili zahteva za API ključem.

Parsiranje Parametara Specifično za Tehnologiju

  • Način na koji se parametri parsiraju i prioritetizuju zavisi od osnovne veb tehnologije, utičući na to kako HPP može biti iskorišćen.

  • Alati poput Wappalyzer pomažu u identifikaciji ovih tehnologija i njihovih načina parsiranja.

PHP i Iskorišćavanje HPP-a

Slučaj Manipulacije OTP-om:

  • Kontekst: Mehanizam prijave koji zahteva Jednokratnu Lozinku (OTP) je iskorišćen.

  • Metod: Interceptiranjem zahteva za OTP korišćenjem alata poput Burp Suite, napadači su duplirali email parametar u HTTP zahtevu.

  • Ishod: OTP, namenjen prvobitnom emailu, umesto toga je poslat na drugu email adresu navedenu u manipulisanom zahtevu. Ova greška je omogućila neovlašćen pristup zaobilazeći namensku sigurnosnu meru.

Ovaj scenario ističe kritičan propust u serverskoj strani aplikacije, koja je obradila prvi email parametar za generisanje OTP-a, ali je koristila poslednji za dostavu.

Slučaj Manipulacije API ključem:

  • Scenario: Aplikacija omogućava korisnicima da ažuriraju svoj API ključ putem stranice za podešavanje profila.

  • Vektor Napada: Napadač otkriva da dodavanjem dodatnog api_key parametra POST zahtevu, može manipulisati ishodom funkcije ažuriranja API ključa.

  • Tehnika: Koristeći alat poput Burp Suite, napadač kreira zahtev koji uključuje dva api_key parametra: jedan legitimni i jedan zlonamerni. Server, obrađujući samo poslednje pojavljivanje, ažurira API ključ na vrednost koju je napadač pružio.

  • Rezultat: Napadač dobija kontrolu nad funkcionalnošću API-ja žrtve, potencijalno pristupajući ili modifikujući privatne podatke neovlašćeno.

Ovaj primer dodatno ističe neophodnost sigurnog rukovanja parametrima, posebno u funkcionalnostima kao što je upravljanje API ključem.

Parsiranje Parametara: Flask vs. PHP

Način na koji veb tehnologije rukuju duplim HTTP parametrima varira, utičući na njihovu podložnost HPP napadima:

  • Flask: Prihvata vrednost prvog parametra koji se susreće, kao što je a=1 u upitu a=1&a=2, dajući prioritet početnom primerku nad kasnijim duplikatima.

  • PHP (na Apache HTTP Serveru): Suprotno tome, daje prioritet poslednjoj vrednosti parametra, birajući a=2 u datom primeru. Ovo ponašanje može nenamerno olakšati HPP eksploataciju poštujući napadačev manipulisani parametar iznad originalnog.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated