dev · · 09:18 · 2 min de citit
Atacuri de tip HTTP Parameter Pollution asupra API-urilor din cauza discrepanțelor WAF/Framework
Firewall-urile de aplicații web (WAF) și framework-urile backend analizează parametrii HTTP diferit, creând o vulnerabilitate cunoscută sub numele de HTTP Parameter Pollution (HPP). Atacatorii exploatează această discrepanță, unde un WAF ar putea bloca un parametru malițios, în timp ce framework-ul procesează o valoare diferită, potențial dăunătoare.
HTTP Parameter Pollution (HPP) reprezintă un risc de securitate semnificativ pentru API-uri, provenind din diferența fundamentală dintre modul în care firewall-urile de aplicații web (WAF) și framework-urile de execuție backend interpretează parametrii HTTP. În timp ce un WAF poate inspecta și bloca un parametru pe baza valorii sale percepute, framework-ul backend poate procesa o valoare diferită datorită propriei logici de parsare, ocolind efectiv controalele de securitate. Acest decalaj arhitectural permite atacatorilor să creeze cereri în care WAF-ul vede o intrare sigură, dar logica aplicației execută una malițioasă, ducând la acțiuni neautorizate sau breșe de securitate.
Vulnerabilitatea apare deoarece WAF-urile inspectează de obicei parametrii în izolare, neștiind strategia specifică a framework-ului pentru gestionarea valorilor ambigue sau duplicate ale parametrilor. De exemplu, o cerere precum `id=1&id=2` poate fi evaluată de WAF atât pentru `1`, cât și pentru `2`, dar framework-ul ar putea folosi doar prima (`1`) sau ultima (`2`), în funcție de implementarea sa. Acest comportament variază pe scară largă între framework-uri precum PHP, ASP.NET, Express.js, Django, Flask, Spring și Ruby on Rails, unele prioritizând prima valoare, altele ultima, iar unele chiar concatenându-le. Atacatorii valorifică această cunoaștere pentru a-și poziționa strategic payload-ul malițios, asigurându-se că acesta este procesat de framework, fiind în același timp trecut cu vederea de WAF.
Această vulnerabilitate HPP este deosebit de răspândită în șirurile de interogare ale API-urilor, care sunt adesea neglijate de echipele de dezvoltare concentrate pe corpurile de cerere JSON, unde cheile duplicate sunt mai puțin exploatate. Vulnerabilități critice precum CVE-2025-7783 în biblioteca `form-data` din Node.js și CVE-2021-20085 în `backbone-query-parameters` subliniază severitatea, permițând atacuri de la preluarea contului prin manipularea resetării parolei până la potențială poluare a prototipului și execuție de cod. Remedierea implică nu doar actualizări de semnătură WAF, ci și o înțelegere mai profundă și o gestionare consecventă a parsării parametrilor pe întregul ciclu de viață al cererii.
$ sursa --originală
dev.to
Rezumat realizat de Sudofeed pe baza articolului original. Drepturile asupra conținutului aparțin sursei originale.