Hlavní navigace

E-shop Colours of Ostrava si s bezpečností a použitelností hlavu neláme

Daniel Dočekal

Kupovat vstupenky na Colours of Ostrava online je zážitkem, který se jen tak nevidí. Lepší odstrašující příklad už snad ani nenajdete.

Představte si, že si chcete koupit vstupenku na Colours of Ostrava online. Měla by to být v zásadě velmi jednoduchá záležitost. Na první pohled to tak vypadá, protože na eshop.colours.cz najdete e-shop. Ale to je asi tak vše. Celá transakce se nakonec mění v extrémně zajímavou ukázku toho, jak e-shop rozhodně nedělat.

První problém: zapomeňte na jednoduchý nákup. Čeká vás extrémně složitý formulář s řadou zbytečných položek a pochopitelně s předem zaškrtnutou položkou „chci být pravidelně seznámen s novinkami“. Ale také s neustále vyskakujícími námitkami, že jste něco zadali špatně – třeba telefon, protože ho musíte zadat včetně předvolby státu, což vám ale formulář neříká. Nebo PSČ, protože ho kontrolují proti databází, kde PSČ chybí. Nebo město, protože ho kontrolují proti PSČ a musíte ho napsat přesně.

Druhý problém: rozhodně nezkoušejte, jestli jsou ošetřeny vstupy do databáze, protože ošetřeny nejsou. A rozhodně to nezkoušejte nějak využít, protože byste – raději na to ani nepomýšlet – mohli získat přístup někam, kam byste neměli.

Microsoft OLE DB Provider for ODBC Drivers error ‚80040e21‘

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

/dpridej.asp, line 126

On ostatně není ošetřený ani přihlašovací mechanismus, takže i tam si můžete povídat přímo s SQL serverem. A jasně, nikdo se neobtěžoval tyhle chybové hlášky, které toho umí hodně napovědět, vypnout.

Microsoft OLE DB Provider for ODBC Drivers error ‚80040e14‘

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ‚klienti.username='cobykambykdyby and klienti.heslo=‘123 ‚11‘;'.

/login.asp, line 29

Třetí problém: Běda, když zadáte špatně „ověřovací kód“ z obrázku. Všechno, co jste pečlivě vyplnili, a není toho málo, se ztratí. Dostanete se zpět na prázdný formulář.

Čtvrtý problém: Vyhledávací políčko, pochopitelně (to už prostě po předchozích zjištění musíte čekat) také není ošetřené, takže tady máme XSS pro každého, kdo by si rád pohrál. Všechno přímo jako parametr pro search.asp a bez omezení přímo do kódu.

<!-- start vypisu zbozi>
← >
<font face=‚Verdana‘ color=‚black‘ class=‚hlavnitextpismo‘><br></b>Výs­ledek vyhledávání podle klíčového slova <b><script>alert(ach ouvej);</script>
</font>

Pátý problém: Další kousek, který je extrémně nebezpečný? No, nemůžete se divit tomu, že v potvrzovacím mailu o registraci vám pošlou přímo čitelné heslo. Co kdybyste ho zapomněli, že? Nebo kdo ví, proč to dělají.

Šestý problém: tenhle web miluje vyskakovací dialogy a okna, takže na všechno možné vám prostě zobrazí vyskakovací dialog a OK. Třeba na přihlášení. A bude se vám zobrazovat několikrát, to pro jistotu, abyste i na dalších stránkách věděli, že jste se přece už přihlásili.

Sedmý problém: tvůrci webu jsou nejenom tak trochu ignoranti, co se bezpečnosti týče, ale také co se týče použitelnosti a praktičnosti. Pokud zapomenete heslo, nečekejte možnost si ho nechat vytvořit znovu. Ostatně, s ohledem na vše výše i níže uvedené je dost velmi pravděpodobné, že vaše heslo je uložené v čitelné podobě přímo kdesi v databázi. 

Osmý problém: Když už se vám podaří přihlásit a chtěli byste tedy změnit to heslo, které vám poslali čitelně mailem, můžete po vstupu do profilu pouze dorazit na další chybovou hlášku. Což ostatně dostanete nejenom v editprofil.asp, ale také v prehled.asp.

Microsoft VBScript runtime error ‚800a000d‘
Type mismatch: ‚Pisdatum‘
/editprofil.asp, line 285

Devátý problém: aby toho nebylo málo, nestačí skripty házející chyby, ona je tam i řada stránek, které vůbec neexistují. Třeba http://eshop.colours.cz/historie.asp – což má být historie vašeho nákupu. Hází prostě 404ku. A protože, tvůrci webu nechť prominou, tohle opravdu programoval a provozoval ignorant, dozvíte se opět věci, které vůbec vědět nemáte.

START17

Desátý problém: vlastně už ani nepřekvapí, že se do tohoto „e-shopu“ může zaregistrovat kdokoliv (a také za kohokoliv). Žádné ověření registrace neexistuje a registraci nelze ani zrušit. Nefunkční uživatelský profil znamená, že nejde změnit heslo ani údaje. Což je v zásadě všechno hodně velký problém. Tedy – možná provozovateli nebude vadit, že mu tam stovky internetových trollů mohou automaticky vytvořit neexistující objednávky.

Jedenáctý – opravdu jedenáctý – problém: nepokoušejte se moc studovat obchodní podmínky. Jsou zjevným výsledkem přerodu jakýchsi hodně obecných obchodních podmínek v takové, které sedí i k prodeji vstupenek. V rámci oprav ale jaksi došlo k likvidaci některých odstavců a spojení původních odrážkami oddělených textů do jednolitých bloků. Výsledek je, že se to prostě nedá číst.

Našli jste v článku chybu?
8. 9. 2015 8:57
JK (neregistrovaný)

Ještě bych dodal, že pokud jste v baráku, kde máte stejnou ip, tak máte i stejný košík a pro jistotu jste i přihlášeni jako soused :-)

8. 9. 2015 11:12

I když jde o jednorázovku, tak úroveň se obvijí od úrovně samotné akce. Tedy, pokud je Colours of Ostrava mega festival, tak by i eshop měl být na úrovni. Zvláště, když je eshop zároveň i vstupní bránou. A pokud je eshop odfláknutý, tak co si má pak potenciální účastník myslet o samotném festivalu? Odfláknutý eshop, tak i odfláknutý festival?

Jak koukám, tak to vypadá, že organizátoři použili nějakého známého a ne nějakou solidní agenturu. Což by vysvětlovalo úroveň samotného eshop systému ekon…