Articles I've written

Upgrading existing password hashes (5. 9. 2017, Blog)

Still using MD5 or SHA-1 to store user passwords and want to gracefully migrate to e.g. bcrypt? Want to do it properly to protect all passwords in the database? Here's how.

(read more…)

Chrome, `ERR_SPDY_PROTOCOL_ERROR`, and an invalid HTTP header (28. 8. 2017, Blog)

When migrating your site to a more performant HTTP/2 protocol, it may happen that Chrome will not load a page and will display This site can’t be reached with ERR_SPDY_PROTOCOL_ERROR instead. HTTP/2 is derived from the earlier SPDY protocol, that's probably why the error message doesn't mention HTTP/2 at all.

(read more…)

Post a boarding pass on Facebook, get your account stolen (16. 8. 2017, Blog)

Holiday time is in full swing. When you want to brag about your final destination, be careful of what you post on Facebook and Instagram. Leave your boarding passes (and other barcodes) for yourself (and get a shredder).

(read more…)

Do you need a TLS/SSL certificate for your website? (10. 8. 2017, Blog)
UR browser: "VPN" and other tales (25. 4. 2017, Blog)

UR is a fast and secure web browser. With a built-in VPN, ad blocker, virus scanner and more, UR helps you protect your privacy online.

Except it doesn't. The “VPN” is just a proxy and the connection between the browser and the proxy server is not even encrypted.

(read more…)

Czech LinkedIn profiles with purged or typo emails (3. 4. 2017, Blog)

I could hijack 629 LinkedIn accounts by re-registering purged inactive (or mistyped) email addresses at the largest free email provider in the Czech Republic, Seznam.cz. But I haven't, of course.

(read more…)

"Jak ukládáme hesla vám z důvodu bezpečnosti neprozradíme" (14. 10. 2016, Lupa.cz)

Když na otázku “jak ukládáte hesla?” dostanete neurčitou odpověď nebo když vám to někdo nechce prozradit, spíš očekávejte, že vaše hesla nejsou v bezpečí.

(read more…)

Opera představila VPN, která vlastně není VPN. Takhle funguje (25. 4. 2016, Lupa.cz)

Opera Software ve své tiskové zprávě tvrdí, že jejich “VPN” je lepší, než tradiční VPN. No, jak se to vezme.

(read more…)

Opera browser's VPN is just a proxy (22. 4. 2016, Blog)

Behind the curtain, the VPN in the Opera browser is just a proxy. Here's how it works.

(read more…)

Jak se stahovala Sobotkova pošta? Využíval se software Hacking Teamu? (15. 1. 2016, Lupa.cz)

Dělat screenshoty umí malware, který se označuje jako RAT (Remote Access Trojan), ten umí také třeba zaznamenávat stisknuté klávesy atd. Nemusí to být zrovna „špičkový software“, takových programů je určitě spousta a dělat screenshoty patří do jejich základní výbavy. Ostatně, dělat screenshoty umí i sám browser pomocí JavaScriptu.

(read more…)

Viděl jsem Specifikaci projektu Elektronická evidence tržeb (21. 12. 2015, Lupa.cz)

“Viděl jsem věci, kterým byste vy, lidé, nevěřili”, tak začíná monolog Roye Battyho ve filmu Blade Runner a já mám po přečtení Specifikace projektu Elektronická evidence tržeb velmi podobný pocit.

(read more…)

Seznam s HTTPS zaspal, weboví špioni si mnou ruce (26. 10. 2015, Marketing & Media)

Viděli jste špionážní film nebo seriál odehrávající se v posledních letech nebo blízké budoucnosti? Mizera prohlíží něco na počítači, zatímco agenti mu do počítače nahrají program, který jim ho pak pomůže vystopovat. Podobné scény se dostaly už i do South Parku. Schválně nemluvím o sci-fi filmech, protože podobné triky již do této kategorie dávno nepatří.

(read more…)

Seznam a weby na HTTPS – dobrá i špatná zpráva (7. 10. 2015, Lupa.cz)

Kterou chcete slyšet první? To je jedno, já vám stejně povím nejdřív tu dobrou. Seznam vyřešil jeden z problémů s horším umístěním webů na HTTPS ve výsledcích vyhledávání. Přesun na HTTPS ale doporučuje odložit na příští rok.

(read more…)

Co se stalo LastPass a jak vytvářet silná a zapamatovatel­ná hesla (25. 6. 2015, Lupa.cz)

O bezpečnostním problému oblíbeného správce hesel LastPass jste už asi zaslechli a možná si o něm i něco přečetli. Po incidentu vyšla spousta článků s informacemi pro uživatele, a poněvadž se o hesla tak trochu zajímám, tak jsem jich pár přečetl, a dokonce jsem se začetl i do komentářů, což obvykle nedělám.

Pokusím se shrnout, co o problému víme, a zabrousím i trochu do technických detailů fungování LastPassu, a tím se pokusím aspoň trochu vyvrátit některé fámy a mýty. Na závěr uvedu pár dobrých rad, jak LastPass více zabezpečit.

(read more…)

Mobilní aplikace Seznam – zabezpečení neznám (25. 2. 2015, Lupa.cz)

Že Seznam kromě přebarvených nebo jinak vylepšených verzí Opery, Firefoxu a Internet Exploreru nabízí svůj vlastní prohlížeč, to jste už asi zaslechli. Že v době vydání na tom byl se zabezpečením dost mizerně, to jste se možná už taky dočetli.

A víte, že Seznam má i vlastní mobilní prohlížeče, jak pro Android, tak pro iOS? Přestaňte jásat a zadržte. Než si je do svých chytrých telefonů a jiných pádel nainstalujete, přečtěte si, co jsem o jednom z nich zjistil. Pojďme se tedy podívat, co je na webovém prohlížeči také důležitého a co může nepříjemně ovlivnit vaše soukromí. V závěru se lehce podíváme i na mobilní aplikaci Email.cz.

(read more…)

Informace důvěrné jako rozhovor (3. 2. 2015, Hospodářské noviny)

Před pár dny jsem vyprávěl kamarádovi o zabezpečení přenosu informací po internetu. Chtěl popsat, co všechno bych mohl se špatně zabezpečeným tokem dat dělat, kdybych byl mizera. Kamarád sice provozuje internetový obchod, ale nerozumí všem těm technickým výrazům a zkratkám, a tak chtěl, abych mu na nějakém příkladu popsal, proč je to vlastně důležité a k čemu se nezabezpečená data mohou někomu hodit, zkrátka abych to k něčemu přirovnal. A já jsem si vzpomněl na jeden takový příběh, na kterém bych problematiku šifrování přenosu dat rád přiblížil i vám.

(read more…)

Nejčastější bezpečnostní chyby na českých webech, vysvětleny „pro lidi“ (20. 1. 2015, Lupa.cz)

V závěrečném shrnutí hodnocení soutěže WebTop100 2013 jsem popisoval, jak takové hodnocení vypadá (to je ten článek, kde jsme se naučili, kolik nul má kvintiliarda), kolik si u toho porotce užije legrace a kam všude mu zablokují přístup.

No, víte, ono to zas taková sranda není, takže o co bude dnešní článek méně zábavný, o to bude stejně (málo) technický. Tak nějak lidsky v něm popíšu pár nejčastějších problémů zabezpečení webů, abyste si pod těmi nulami v hodnocení dokázali představit, jak malé nebo velké problémy se na webech dají nalézt. Skočte si zalít to instantní kafe a pojďme na to.

(read more…)

Zdálo se mi o WebExpo 2014 (28. 8. 2014, DevBlog)

Holky a kluci, co dělají tento rok WebExpo požádali garanty a vůbec všechny, aby se podělili o svůj průchod WebExpem. Už se podělil Riki FridrichJirka Sekera, u mě byla touha podělit se dokonce tak silná, že se mi dneska v noci zdálo o tom, jak bude WebExpem prolítávat Špaček. Musím si to zapsat, abych ho náhodou nezapomněl a pak si 14. září večer neříkal “jakou přednášku jsem to vlastně chtěl vidět?” Ten sen vypadal tedy nějak takhle…

(read more…)

The Reason I Built “We Bleed” and How I Did It (16. 5. 2014, Testomato Blog)

It’s already been a month since we first heard about the Heartbleed Bug. In this article I’d like to share the results of a small weekend research project I’ve been working on.

(read more…)

Jak jsem ukradl sezení administrátorovi a objednal ruskou vodku za kvintiliardu (7. 11. 2013, Lupa.cz)

Zabezpečení mnoha tuzemských e-shopů je tragické. Všechny mnou hodnocené online obchody v letošním ročníku soutěže WebTop100 získaly za oblast bezpečnosti nula bodů.

(read more…)

Shrnutí souteže WebTop100 2012 (30. 8. 2013, Zdroják)

Měl jsem tu možnost a štěstí hodnotit weby i v minulém ročníku soutěže WebTop100, takže toto moje shrnutí bude do jisté míry srovnáním s výsledky mého bádání v roce 2011. Můj názor je totiž ten, že důležitější, než současný stav věcí, je směr, kterým se ubírají. V tak dynamickém prostředí, které nazýváme Internet, to platí dvojnásob.

(read more…)

CZ Podcast 75 Errata (2. 4. 2013, DevBlog)

Před pár dny jsem konečně zjistil, kolik lidí slyšelo CZ Podcast o bezpečnosti webových aplikací, ve kterém jsem byl hostem. To číslo samozřejmě znám úplně přesně a dokonce všechny tři posluchače znám i jménem. Byl jsem to totiž já, Ondřej Mirtes a Jakub Vrána. Poslední tři jmenovaní mě zároveň upozornili na několik faktických chyb a nepřesností. Důvody, proč k těm chybám a nepřesnostem došlo nejsou podstatné, ale omlouvám se za ně. Rád bych tedy v tomto článku tyto tiskové chyby opravil.

(read more…)

Skype, Joltid a core technology (27. 3. 2013, DevBlog)

V posledních dnech se hodně mluví a píše o Yahoo a koupi Summly. A taky o tom, že Summly nevlastní svoji “core technology”, ale že si ji pronajímá. Nevím, co tou akvizicí Yahoo sleduje a celkem je mi to jedno, ale tato situace tu není poprvé. Před pár lety se stalo něco podobného v mnohem větší míře, za víc peněz s větším rizikem.

(read more…)

Neautorizovaný přístup k datům (23. 1. 2013, Zdroják)

V posledních dnech, týdnech a měsících jsem několikrát slyšel a četl o tom, že velkým hráčům unikla nějaká data, případně se někdo dostal k informacím, které vidět neměl, a to naprosto jednoduchým způsobem. „Útočník“ pouze změnil nějaké číslo v adrese stránky a v prohlížeči se mu najednou ukázaly údaje, k jejichž prohlížení nebyl autorizován. Jak je to jen možné?

(read more…)

České weby jsou uživatelsky příjemná bezpečnostní katastrofa (15. 10. 2012, Root.cz)

Napsat dobře web není žádná legrace. Je třeba k tomu mnoho umět, dát si pozor na mnohá úskalí a překonat řadu překážek a chyb. Naučili se už konečně čeští programátoři dělat web pořádně? Na to odpoví jeden z porotců soutěže WebTop100, kterému rukama prošly dvě stovky webů. Radost vám udělá jen napůl.

(read more…)

Today is your lucky day (10. 9. 2012, DevBlog)

O tom, že když se budete trochu snažit a trochu makat, tak dosáhnete toho, co chcete. O tom, že občas musíte být ve správnou dobu na správném místě. A taky o tom, že se vyplatí otevřít pusu nejen proto, abyste do ní nalili pivo.

(read more…)

Bezpečnost je míra, ne vlastnost (28. 5. 2012, DevBlog)

Chtěl bych se s vámi podělit o jeden příběh, který se nedávno odehrál. A poněvadž nebyl vyroben kdesi v Hollywoodu, ale napsal ho sám vývojářův život, tak není moc veselý. Na jeho konci se totiž místo závěrečných titulků rolujících po plátně za zvuku dojemných melodií objeví přístupové údaje k databázi jedné české a mnou oblíbené webové služby na sdílení obrázků.

(read more…)

WebExpo 2012 Call for Papers (21. 5. 2012, DevBlog)

Necelou minutu před deadline jsem odeslal přihlášku svých dvou příspěvků na WebExpo 2012. Potvrzující e-mail, který přišel zpět má čas 23:59:53 a samotného by mě zajímalo, kolik lidí přihlášku odeslalo po mě. Díky patří organizátorům WebExpa i Jeanne Trojan, za to, že mě zcela nezištně dokopali k tomu, abych aspoň jedno téma přihlásil.

(read more…)

FPD aneb Full Path Disclosure (29. 4. 2012, DevBlog)

FPD je jedna z přibližně 17576 třípísmenných zkratek používaných na Internetu a jedna z mála, kde písmeno F neznamená, hmm, třeba friend. Význam zkratky, o kterém bych vám rád povyprávěl je však důležitý pro bezpečnost webových aplikací. FPD totiž v oblasti webové bezpečnosti znamená Full Path Disclosure, do češtiny přeloženo například jako odhalení, nebo raději lépe prozrazení úplné cesty.

(read more…)

Mass Assignment v PHP (27. 3. 2012, DevBlog)

Počátkem března se Rails komunitou prohnal hurikán jménem @homakov. Škod naštěstí nenapáchal mnoho, jenom se lehce otřel o GitHub a odnesl střechu a plot. Mohl si vzít cokoliv, ale asi by to neunesl (a to asi ani psychicky).

(read more…)

PHP 4 a PHP 5 zároveň na jednom fyzickém serveru s Windows XP (20. 11. 2005, exploited)

Důvod, proč provozovat PHP 4 a zároveň PHP 5 je vskutku jednoduchý, prostě to tak chceme. Ať už kvůli tomu, že budeme ohýbat staré (čti dříve napsané) aplikace (čti skripty) a zároveň psát nové a ty staré prostě nechceme, nebo nemůžeme upravovat na nové verzi PHP a ty nové, ač můžeme, tak na staré verzi PHP psát nechceme.

(read more…)

Česky