Evaluăm anual numeroase magazine online, ceea ce ne oferă o perspectivă amplă asupra mediului digital și, în special, asupra sectorului eCommerce. Deși tehnologiile și practicile de securitate au evoluat, întâlnim încă două vulnerabilități semnificative care pot afecta grav magazinele online: aplicarea mai multor coduri de discount pentru aceeași comandă și manipularea prețurilor prin modificarea cantității minime.
1. Aplicarea multiplă a discounturilor
O vulnerabilitate de tip Race Condition apare atunci când două sau mai multe procese accesează simultan o resursă partajată, iar rezultatul depinde de ordinea execuției acestor procese. În contextul eCommerce, acest tip de vulnerabilitate poate fi exploatat pentru a aplica reduceri multiple sau pentru a efectua tranzacții duplicate înainte ca sistemul să actualizeze stocurile.
Exemple de exploatare:
- Aplicarea repetată a unui voucher de reducere: Un atacator poate trimite simultan multiple cereri de aplicare a unui voucher de 10% reducere, reușind astfel să obțină o reducere cumulată mai mare decât cea intenționată de comerciant.
- Achiziționarea de produse epuizate: Prin plasarea simultană a mai multor comenzi pentru un produs cu stoc limitat, un utilizator poate reuși să cumpere un produs care, în mod normal, ar fi fost marcat ca “out of stock”.
Impactul asupra magazinelor online:
Consecințele acestor exploatări includ pierderi financiare semnificative, gestionarea dificilă a stocurilor și deteriorarea reputației magazinului. Clienții care nu primesc produsele comandate din cauza unor astfel de vulnerabilități pot pierde încrederea în comerciant.
Măsuri de prevenire și remediere:
- Implementarea blocărilor la nivel de bază de date: Utilizarea mecanismelor de blocare (locking) pentru a asigura că o resursă este accesată de un singur proces la un moment dat.
- Gestionarea tranzacțiilor: Folosirea tranzacțiilor atomice în baza de date pentru a preveni inconsistențele în actualizarea stocurilor și aplicarea reducerilor.
- Verificări suplimentare la nivel de aplicație: Introducerea de verificări suplimentare în codul aplicației pentru a detecta și preveni cererile simultane suspecte.



Notă: capturile de ecran sunt realizate pe un magazin online real, însă fiind nișat, pentru protecția acestuia am înlocuit produsul comandat cu un telefon.
2. Manipularea prețurilor prin modificarea cantității minime
O altă vulnerabilitate des întâlnită este posibilitatea manipulării prețurilor prin modificarea cantității minime în formularele de comandă. Persoane cu cunoștințe elementare de HTML pot utiliza funcționalitatea “Inspect Element” din browser pentru a modifica valoarea câmpului de cantitate, reducând astfel prețul total al comenzii.
Exemplu de exploatare:
Un produs cu prețul de 6.000 lei poate fi achiziționat la un preț mult mai mic dacă atacatorul modifică cantitatea la 0,01, plătind astfel doar 60 lei în loc de 6.000 lei.
Impactul asupra magazinelor online:
Astfel de exploatări pot duce la pierderi financiare considerabile și la livrarea de produse la prețuri mult sub valoarea lor reală. De asemenea, pot apărea probleme legale și de reputație pentru comerciant.
Măsuri de prevenire și remediere:
- Validarea server-side a datelor: Asigurarea că toate datele primite de la client sunt validate pe server, indiferent de validările efectuate pe partea de client.
- Setarea limitelor pentru cantități: Definirea unor limite minime și maxime pentru cantitățile ce pot fi comandate, atât la nivel de interfață, cât și la nivel de server.
- Verificări suplimentare înainte de procesarea plății: Implementarea unor verificări finale înainte de procesarea plății pentru a detecta și preveni eventualele manipulări.
Rolul competițiilor și auditurilor în identificarea vulnerabilităților
Participarea la competiții precum GPeC oferă magazinelor online oportunitatea de a fi evaluate în detaliu, identificând astfel vulnerabilități și zone de îmbunătățire. Aceste evaluări contribuie la creșterea nivelului de securitate și la oferirea unei experiențe mai bune pentru clienți.
Vulnerabilitățile de tip Race Condition și manipularea prețurilor prin modificarea cantității minime reprezintă amenințări reale pentru magazinele online. Prin implementarea măsurilor de securitate adecvate și prin participarea la audituri și competiții de profil, comercianții își pot proteja afacerea și pot asigura o experiență sigură și plăcută pentru clienți.