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í.

payu_payment_process_hacked_quantity1.png
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.

Článek patří do rubrik: Bezpečnost


31 komentářů

Diskuze

  • Pepa Berger , 8. 1. 2016 1:29:21
    Zvyseni poctu ks si asi malo kdo vsimne a tezko se to uhada. Mnohem...
  • Martin Suchan , 7. 1. 2016 9:34:08
    Ten clovek, ktery navrhnul generovani hashe transakce pomoci spojeni...
  • Pavel Černík , 6. 1. 2016 17:54:06
    zasadni chyba v myslenkovem postupu hackera - payU neni prodejce ale pouze...

Další podobné články


Google se chce obejít bez hesel. Testuje Trust API

Google se chce obejít bez hesel. Testuje Trust API

24.  5.  2016 | Čížek Jakub | 14

FBI využívá ke sledování díru, která je zřejmě i ve Firefoxu. Mozilla chce chybu znát, ale neuspěla ani u soudu

FBI využívá ke sledování díru, která je zřejmě i ve Firefoxu. Mozilla chce chybu znát, ale neuspěla ani u soudu

** Ve Firefoxu může být vážná bezpečnostní díra a FBI to ví ** Mozilla požaduje, aby z FBI informace prozradili ** Soud rozhodl, že FBI informace poskytovat nemusí

20.  5.  2016 | Polesný David | 11


Aktuální číslo časopisu Computer

Testy nejnovějších produktů na českém trhu.

Informace ze světa internetu i bezpečnosti.

Plné verze programů zdarma pro všechny čtenáře.