Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Operator płatności Stripe – rabaty można było naliczać w nieskończoność. Podatność zgłoszona w ramach bug bounty.
Tym razem ciekawa podatność ze świata webowego. Jeden z klientów Stripe otrzymał całkiem niezłą promocję – całkowity brak opłat od transakcji, ale tylko dla sumarycznej kwoty transakcji do $20000.
Postanowił zaakceptować taką ofertę (przesłaną przez Stripe) ale jednocześnie przechwycić żądanie HTTP z przeglądarki za pomocą narzędzia Burp Suite. Następnie badacz powtórzył zaaplikowanie rabatu 30 razy (wysłał 30 razy przechwycone żądanie HTTP) i okazało się, że nie musi płacić prowizji za płatności do kwoty $600 000:
I called it 30 times and 30 fee discounts were immediately applied to my account! As a result, I now have $600,000 of fee-free processing applied to my account. Impact: Unlimited fee-free discounts. This will cost Stripe about 3% of each discount, so $600 each time a $20k discount is abused.
Za znalezisko wypłacono skromne $5000.
~ms
taka logika bycia w porządku…
5k :) Wnioski do wyciagniecia we wlasnym zakresie
Jakie wnioski? Od sumarycznej kwoty transakcji 20000 USD Stripe pobiera opłatę 600USD (ok 3%). Więc jeśli wniosek miał być taki, że zamiast zgłaszać mógł exploitować, to musiałby przeprocesowac transakcji za ponad 166000 USD wysyłając nielegalny request o rabat 9 razy. Chyba by się Stripe jorgnal do tego czasu…
Można kraść oczywiście, ale nie trzeba, prawda?
Poza tym wykorzystywanie podatności to dalej kradzież. Część osób co wykorzystała podatność zabki usłyszała zarzuty.