Parta školáčků zneužila bezpečnostní díru objednávky damejidlo.cz

Není tomu dávno, co jsem s kolegou řešil otázku programátorské etiky. Možná bych pochopil, že se někdo někam nabourá, dá na twitter fotku a nezpůsobí žádnou škodu.

Pak se ale stávají věci jako dneska Tomáši Čurpovi, které se mě vůbec nelíbí – http://tomcupr.cz/post/53694326718/je-krast-v-poradku

Banda školáčků příjde na bezpečnostní díru, hned ji zneužije a udělá škodu za pár desítek tisíc. A s rukou na srdce, kolik z vás by na chybu upozornilo místo toho než ji zneužít? Já bych jim určitě napsal stejně jako jsem udělal vždy předtím, když jsem narazil na něco potencionálně nebezpečného.

Objednávka Student Agency v roce 2013 na mobilu? Zapomeňte.

Proklientský přístup maximalizující konverze zákazníků. Gratuluji panu Jančurovi k úspěchu.

Je pochopitelné, že v roce 2013 používá mobil nebo tablet k objednávkám na internetu minimum lidí. 🙂 Nejvíce mě ale fascinuje, že ten formulář prostě není zas tak složitý k optimalizace pro mobilní zařízení.

Možná by mohli říci firmě, co jim dělá stránky Qbizm technologies, a.s. (tohoto času v likvidaci… http://rejstrik.penize.cz/25596004-qbizm-technologies-a-s-v-likvidaci) ať jim to předělá…

580177_10201098251959176_436655955_n

Hello IE

65628_10151386290536781_1953078148_n

Opravdu je CTRL+C z webu bezpečné?

Klasický linuxový den… Člověk hledá na netu adresu nebo sérii příkazu pro instalaci nějakéhoho pluginu nebo utilitky. Najde na stránkách příkaz, zkopíruje ho z prohlížeče do shellu a spustí. Opravdu je to bezpečné?

git clone /dev/null; clear; echo -n Hello' '; whoami; echo ':-*';
git clone
git://git.kernel.org/pub/scm/utils/kup/kup.git

Tak si zkuste kód zkopírovat. Ideálně když bude někdo zlý, zkopíruje na konec znak nového řádku a příkaz se okamžitě spustí. 🙂 Nevěřte ničemu…

Zdroj: http://thejh.net/misc/website-terminal-copy-paste

Bezpečnost configu v .php souboru

Ukládání konfigurace vaší webové aplikace do souboru s příponou .php je relativně bezpečné. Takový typ souboru při přímém přístupu k němu přes prohlížeč (pokud by byl server nebo .htaccess špatně nakonfigurován) nezpůsobí nic nebezpečného. Soubor se spustí a s největší pravděpodobností nic nevypíše.

V minulých týdnech jsem si hrál s Neon systémem Davida Grudla. Tento systém jednoduše dovoluje ukládat data a to i strukturované do textového souboru. Není třeba používat zbytečné závorky, čárky apod.

Co se ale stane, když si blbě nakonfigurujete server. Takový soubor může být volně přístupný prohlížečem a tedy i jednoduše zobrazitelný pokud máte špatně nastaven server. David vydal i varování: http://nette.org/cs/security-warning Nepodařilo se mi najít žádný web běžící na Nette Frameworku, který by se mi podařilo takto nabourat. Ale předpokládám, že trocha snažení by nějaké výsledky přinesla.

Proto doporučuji vždy zkontrolovat přístupová práva do jednotlivých adresářů vaší PHP aplikace.

Supervymazlená kalkulačka druhého pilíře

Redaktorka ČT s velkou slávou ukázala kalkulačku pro druhý pilíř důchodové reformy.

Jako hlavní odlišnost oproti konkurenčním podobným službám uvedla. Cituji: „Hlavním rozdílem je, že kalkulačku dělala designerská firma. Proto je hezká a přehledná“.

Moje reakce po vyzkoušení byla něco jako… OMFG WTF? Tohle platím ze svých daní???

 

Fotolab.cz aneb jak si neuplatnit slevový kód

Brácha dostal za dobití telefonu slevový kód na fotolab.cz. Výborně, říkal jsem si. Rodiče scannovali staré diapozitivy, takže bychom si mohli udělat fotoalbum a ještě se slevou.

Web vypadal jednoduše do doby, než jsem se snažil zaregistrovat. Pak jsem s údivem zjistil, že můj kód není platný.

Pojďme se podívat, kde soudruzi z NDR udělali chybu. Takže trocha matematiky.

Slevový kód má 6 znaků. Velká písmena a číslice. Celkový počet kombinací je permutace, která ve finále dává 2 176 782 336 kombinací. Nejspíše asi jsou vypuštěny IOQS a Z, které se často pletou s  105, a 2. Jen toto by nám snížilo počet na možných 1 073 741 824 kombinací. Je to ale jen domněnka, proto dále pracuji s celou množinou.

Pokud počítáme, že kódu je vydaných 100 000, což je podle mě celkem možné číslo. Generovaní kódů je s normálním (pseudonormálním) rozložením. Asi nepředpokládám, že kódy jdou souvisle za sebou… 🙂 Takže mi vychází, že bych potřeboval průměrně 21 768 pokusů na uhádnutí jednoho kódu. Pokud bych měl štěstí možná i méně.

Pokud jsem schopen udělat 40 pokusů o ověření kódu za sekundu (odezva 25ms – asi nadhodnocený údaj), potřebuji v průměru 544s na jeden kód. To znamená 9 minut. Pokud bych uvažoval druhou redukovanou množinu znaků je to 268s, tedy 4.5 minuty.

Ajax volání pro ověření platnosti není nikterak chráněno. Ověření, počet pokusů… se neřeší.

Takže jsem došel na to, kde se asi můj kód poděl. 🙂

A závěr. Jen přidáním jednoho znaku navíc by počet kombinací a čas znásobil 36 násobně! Z 9 minut bychom měli 324 což je bezmála 5.5 hodiny. Pokud by to programátor na počátku promyslel, mohl bych mít doma vesele nové fotoalbum… 🙂

Jen Chuck Norris a ČT dokáží najít NULL

null

Hackeři z Czechurity napadli servery České televize, mají root přístup

V soboru večer informavalo hnutí Anonymous na svém facebooku o úspěšném útoku Czechurity (dříve PiratezSec) na servery České televize. Po útoku na UnicreditBank další… Asi horror pro každého admina:

Více na: http://connect.zive.cz/bleskovky/hackeri-z-czechurity-napadli-servery-ceske-televize-maji-root-pristup/sc-321-a-168243/default.aspx

A otázka na závěr. Who’s next? Je i Váš web bezpečný?

Zde shozený web Unicredit Bank:

https://twitter.com/Czechurity/status/311145091723034624/photo/1

Věříte svojí bance? Opravdu? I po přečtení tohoto článku?

Dneska jsem provedl menší experiment. Jak je složité někomu zablokovat účet.

U GE Money stačí zadat číslo účtu a zkusit se třikrát neúspěšně přihlásit. Ano, čtete dobře. Stačí mi číslo libovolného účtu GE Money, který má povolené internetové bankovnictví. Pak zadám tři chybná hesla… A hotovo… Daný člověk se projde na pobočku GE Money aby si účet odblokoval… A úpřímně, kolik je firem, co si číslo účtu v dobré víře vystaví na stránky. Třeba http://www.nacesty.cz/info/cisla-uctu

U UniCredit bank je to trochu obtížnější. Zde se autentizuje pomocí uživatelského čísla, které  by se hypoteticky blbě hledalo. Stačí ale zadat chybně třikrát heslo a pak vyskočí hláška „Uživatel je zablokován“ bez dalšího popisu proč a co s tím. Tak jsem volal na zákaznickou linku. Zákaznická linka umožňuje automatickou autentizaci. To znamená zadám  uživatelské číslo a bezpečnostní kód (tak nazývají heslo). Oba údaje jsou shodné. Po zadání těchto údajů na telefonní lince mi automat řekl: „akci nelze provést z důvodu výpadku systému“. Znamenitě. 🙂 Následně mě to spojilo se slečnou, které jsem se ptal, proč mě to nechtělo autentizovat na lince, zda mají nějaký výpadek nebo podobně. Prý, že ne, ale prý je snad logické, že na lince se používá ty samé údaje jako do bankovnictví, co mě nejede a nepojede to ani tady. Pochopitelně. Mělo mě to napadnout z té srozumitelné hlášky automatu. Slečna po nadiktování rodného čísla a sekundární identifikace při telefonické komunikaci – tzn. dalšího hesla provedla odblokování.

A pro pobavení průser Axa Bank z roku 2010. Ano, vidíte dobře… Toto se stalo na stránkách banky. Asi nebudu komentovat dál… cituji:

Hlavní  chybou je, že přístupové uživatelské číslo je tvořeno lineárně, tj. souvisle za sebou. AXA Bank nastavila uživatelské čísla od 10000000. Příklad: Za číslem 10000000 následuje 10000001, 10000002, 10000003 atp. Co číslo, to klient banky. Pokud někdo zapomněl heslo ke svému účtu, aplikace nabídla možnost nastavit heslo nové, a to tak, že přišla autorizační SMS s jednorázovým heslem. Po třech chybných pokusech se účet zablokoval. Nebylo problém podle svého uživatelského čísla odvodit další a pomocí jednoduchého skriptu (ale i bez něj) jen tak z legrace začít blokovat účet jiným, náhodným klientům banky. V drtivé většině případů přišly klientům 3 SMS a přístup přes internet jim byl zablokován, aniž něco tušili. V jednom případě však klient banky dostal hned minimálně 27 autorizačních SMS. Ani on zpočátku netušil, proč mu náhle začaly SMS z banky přicházet. Nejprve se domníval, že jde o chybu, ale zhruba po čtvrté zprávě si je začal zapisovat.

Více pak zde: http://www.mesec.cz/clanky/axa-bank-sporici-ucet-bezpecnost/

A o blokování účtů u jednotlivých bank zde: http://www.penize.cz/internetbanking/83305-co-se-zablokovanym-internetbankingem-cesta-na-pobocku-vas-nejspise-nemine

A mám zde novinku. Plánuji pravidelný newsletter a pomaličku se mi v hlavě rodí myšlenka programátorského klubu PHP a bezpečnosti… Common knowledge je nejlepší. A zkušenosti se takto dobře předávají. Takže slovem klasika STAY TUNED. 🙂