PayU má problém, za stejnou cenu nakoupíte 10× víc zboží [aktualizováno]

PayU má problém, za stejnou cenu nakoupíte 10× víc zboží [aktualizováno]

PayU je platební systém, který do jisté míry konkuruje globálnímu PayPalu a umožňuje platby pomocí kreditních karet i rychlých převodů jednotlivých bank. Paul Tomkiel se nyní na svém webu rozepsal o postupu, který umožní zákazníkovi zfalšovat počet nakupovaných předmětů. Problém se přitom může týkat i českých obchodníků, kteří služby PayU využívají.

Klepněte pro větší obrázek
Hash je korektní, vše se zdá být v pořádku. Jenže není, objednali jsme si 19 knih za 8,50 (celkem tedy 161,50) místo jedné za 98,50 (zdroj: codel10n.com)

Chyba v zabezpečení spočívá v jednoduché změně odesílaného formuláře, z něhož je poté společně s privátním klíčem generován kontrolní součet pro ověření odeslaných údajů. Nejlépe to bude vidět na následujícím příkladu autora, který objednal jeden kus svojí knihy týkající se lokalizace webů (Best Localization Tips from CodeL10n hardbook). Z formuláře na webu jsou odeslány všechny potřebné údaje a následně spojeny do jednoho textového řetězce. Ten může v tomto případě vypadat takto: PLN127.0.0.1CodeL10n PayU hack145227Best Localization Tips from CodeL10n hardbook198509850.

Zleva obsahuje údaje o měně, IP adresu zákazníka, popis, identifikátor objednávky a především počet objednaného zboží (1) a cenu (98,50). To je tučně zvýrazněná část. Poslední čtyřčíslí je potom celkový součet. K tomuto řetězci se připojí privátní klíč a vygeneruje se kontrolní součet, třeba pomocí MD5. Pokud by se někdo pokusil změnit kterýkoliv údaj ve formuláři, výsledný hash by neseděl a platba by nemohla projít.

V případě PayU však existuje cesta umožňující změnit parametry objednávky a dostat stejný kontrolní součet. Stačí prostá změna atributů odeslaného formuláře, v nichž místo 1 knihy za 98,50 objednáme 19 knih za 8,50. Řetězec použitý pro vygenerování hashe zůstane stejný a objednávka bude validní. PayU totiž nijak neověřuje, zda se součet shoduje s násobkem počtu kusů a cenou za jediný kus.

Paul Tomkiel obdržel v průběhu prosince potvrzení z PayU, že bude problém promptně vyřešen. Proto jsme požádali české zastoupení o vyjádření, zda k opravě chyby již došlo.

Aktualizace: Podle zprávy autora nebyla chyba stále odstraněna. Že je zneužití i nadále možné si můžete vyzkoušet na testovacím formuláři.

Diskuze (31) Další článek: Panasonic se více zaměří na podnikovou oblast, tvoří 70 % tržeb

Témata článku: Bezpečnost, MD5, Objednávka, Kontrolní součet, Privátní klíč, Akt, České zastoupení, Tips, Zboží, Playground, Celkový součet, Jediný kus, Objednané zboží, Pay, Rychlý převod, Český obchodník, Cena, Problém, Poslední čtyřčíslí, Následující příklad, Hack


Určitě si přečtěte

Zbavujeme se Googlu: vybíráme nejlepší alternativy, které nahradí jeho služby

Zbavujeme se Googlu: vybíráme nejlepší alternativy, které nahradí jeho služby

** Google nabízí spoustu služeb, ale většina z nich má i dobré alternativy ** Pokud z nějakého důvodu nechcete používat služby Googlu, nemusíte ** Připravili jsme přehled služeb, kterými lze ty od Googlu nahradit

Karel Javůrek, David Polesný | 89

E-mail zdarma - není čas změnit vaši starou adresu?

E-mail zdarma - není čas změnit vaši starou adresu?

** E-mail většina z nás za svůj život příliš nemění. ** Služby se ale vyvíjí a některé mají zajímavé funkce. ** Velkým lákadlem může být integrace do ekosystému dalších služeb.

Vladislav Kluska | 64

Levný televizor místo drahého 4K HDR monitoru? Na co si musíte dát pozor

Levný televizor místo drahého 4K HDR monitoru? Na co si musíte dát pozor

** 43", 4K, 60 Hz a HDR k tomu za deset tisíc ** Televizor takových parametrů stojí téměř polovinu, co monitor ** Využití televize jako monitoru přináší řadu kompromisů, ale jde to

Tomáš Holčík | 55



Aktuální číslo časopisu Computer

Nejlepší programy pro úpravu fotek zdarma

Externí disky pro zálohu dat

Velký test: herní notebooky

Srovnání 12 batohů