Přejít k navigační liště

Zdroják » Autoři » Archivy pro Michal Špaček

Archiv autora: Michal Špaček

Michal je webový vývojář a bezpečnostní p̶r̶ů̶výzkumník. První webové stránky vytvořil když ještě zuřila První válka prohlížečů, ve které to Netscape Navigator prohrál proti Internet Exploreru. Pořádá školení, zajímá ho bezpečnost a výkon, staví, boří a testuje webové aplikace. Přednášel na více než 70 konferencích a akcích, včetně konference WebExpo v Praze a konference Passwords v Las Vegas, na obou opakovaně.
Před deseti lety nastoupil jako jeden z prvních vývojářů do pražské pobočky Skype, kde pracoval mj. na platebních systémech. Později zlepšoval zabezpečení Slevomatu, pracoval také pro Apiary. Michal o bezpečnosti rád mluví veřejně, hledá hranice tak, že je posouvá. Chce naučit webové vývojáře stavět bezpečnější a výkonnější weby a aplikace.

PHP
Články PHP

Při útoku XML External Entity Injection (XXE) může útočník na místo jím vytvořené entity v XML souboru vložit obsah nějakého jiného souboru, třeba takového, ke kterému nemá jinak přístup. Co se stane pak záleží především na vás a vaší aplikaci. O XXE ale píšu hlavně proto, abych na konkrétním příkladu ukázal proč aktualizovat na novější PHP verze spíš rychleji, než pomaleji, protože tenhle problém se už v roce 2020 defaultně vyřešil tak nějak sám vydáním PHP 8.0.

PHP
Články PHP

Krádež session id z výpisu phpinfo() je již nějakou dobu známá technika, která se používá k obcházení atributu HttpOnly, který JavaScriptu zakazuje přístup k takto označené cookie (např. PHPSESSID). Mě akorát až teď napadlo řešení, které dovolí phpinfo() zachovat: ty citlivé údaje prostě zcenzurujeme, čímž phpinfo() pro útočníka ztratí část své hodnoty.

Různé
Články Různé

Říkáme tomu různě: weby, stránky, domény, servery, sajty, internety a spoléháme se na to, že tomu ten druhej bude rozumnět. Možná a možná ne, ale to se dá vždy doladit doplňujícím „počkej, jak jako server, nemyslíš spíš web?“ Jenže různé specifikace a technické dokumenty tuto vymoženost nemohou využít a tak se snaží věci nazývat správnými jmény a jednotně. A to navíc tak skvěle, že pojmy jako origin, site, same origin, same site, eTLD a public suffix se normálně ani nepřekládají, protože pak by tomu zas nikdo nerozuměl. A jak s tím souvisí atraktivita subdomén?

Různé
Články Různé

V prohlížeči Chrome je od verze 113 možné přepisovat HTTP hlavičky v odpovědích ze serveru a lze také nějakou novou přidat. To se může hodit pokud potřebujete upravit třeba nějakou bezpečnostní hlavičku pro testování, protože k přepisu dojde ještě před zpracováním věcí jako např. CSP, takže pro konkrétní stránku můžete upravit Content Security politiku přímo v prohlížeči.

PHP
Články PHP

Když se v nějaké vámi používané PHP knihovně objeví bezpečnostní chyba, tak máte několik možností jak se o ní dozvědět dříve, než bude pozdě. V jednom z předchozích článků jsem popisoval PHP Security Advisories Database a její použití pomocí Roave Security Advisories i několik dalších způsobů. Všechny zmíněné ale vyžadují mít nebo používat nějaký extra balíček nebo nástroj.

PHP
Články PHP

Na konci srpna byla v oblíbeném PHP frameworku Nette objevena a obratem opravena zákeřná chyba. Přestože autor frameworku, David Grudl, udělal snad všechno možné i nemožné, někteří se o ní nedozvěděli včas a nestihli tak aktualizovat své weby a webové aplikace. Prozradím vám pár tipů nejen pro PHP, díky kterým dostanete echo o podobných problémech mezi prvními.

Fronta před rychlým backendem. Co ukázal veřejný test eDokladů

Veřejný zátěžový test eDokladů přinesl zdánlivě protichůdný výsledek: aplikační servery odpovídaly v milisekundách, zatímco část lidí čekala desítky sekund. Za hlavní omezení závěrečná analýza DIA označila vstupní bránu, jejíž automatické škálování nestačilo na náhlý náběh provozu. Test zároveň ukázal, proč samotný generátor HTTP požadavků nenahradí identity skutečných uživatelů a jejich zařízení.