Bezpečnost webových aplikací mě zajímá a baví mě ji zkoumat. Je to citlivé téma a každá zapomenutá drobnost může dostat do problémů vás i vaše uživatele. O zabezpečení webu často píšu články a přednáším. Rád se s vámi podělím o svoje zkušenosti a naučím vás, jak webové aplikace zabezpečit a jak je na bezpečnost testovat.

Course name

PHP application security


Content

Popis, rizika a obrana proti útokům, které jsou vedeny proti webovým aplikacím:

  • Full Path Disclosure

    Proč je zobrazení chybových hlášek PHP pro útočníka lákavé a co se z nich dozví?

  • Cross-Site Scripting (XSS)

    Útoky na návštěvníky webu a jejich prohlížeče, typy XSS (stored, reflected, DOM-based), obrana na serveru i v browseru pomocí vyjmenování povolených zdrojů (Content Security Policy) a XSS Auditoru.

  • SQL Injection

    O “dolování” a změně dat v tabulkách, ke kterým standardně není přístup. Vysvětlení Blind SQL Injection, Time-based blind SQL Injection, i rozdílů mezi technologií prepared statements a vázáním proměnných.

  • Vkládání souborů a vzdálené spuštění

    Jak na nahrávání souborů od uživatelů, kam je ukládat a pod jakým jménem. Spouštění externích programů (např. pro změnu velikosti obrázků) “v cloudu”, nebezpečí skrývající se v deserializaci uživatelských vstupů.

  • Cross-Site Request Forgery (CSRF), Clickjacking

    Útočník může uživatele donutit provést nějakou akci bez jeho vědomí nebo ho naláká na kliknutí na prvek stránky, na který by normálně nekliknul. K čemu se to dá použít a jak proti tomu aplikace obránit?

  • Session Hijacking, Session Fixation

    Kdo má identifikátor sezení (session id), ten je pán, takže je vhodné takový identifikátor dobře chránit. O HTTP-only cookies, přegenerování session id a rozumně vyřešeném přihlášení z více míst současně.

  • XML External Entity Injection (XXE)

    Pomocí definice vlastních entit v XML souborech lze během jejich zpracování ze serverů získávat konfigurační soubory nebo zdrojové kódy. Ukážeme si jak a prozradíme jak tomu nejlépe zabránit.

  • Ukládání a hashování hesel

    Jak se lámou hesla, k čemu slouží “salt”, proč používat algoritmus bcrypt nebo Argon2i a ne MD5 nebo SHA-1 (ani SHA-2, SHA-3). A jak změnit hashování bez vynucené změny hesel všech uživatelů?

Další probíraná témata:

  • Generování “bezpečných” náhodných dat
  • Šifrování dat, authenticated encryption (AE)
  • Využití HTTPS, HTTP Strict Transport Security (HSTS), útok BREACH
  • Neautorizovaný přístup k cizím datům
  • Zneužití formulářů pro odesílání nevyžádané pošty
  • Konfigurace serveru
  • Ochrana zdrojových kódů při “releasování” ze SVN a Gitu
  • Bezpečnostní HTTP hlavičky

Potřebujete otestovat vaši webovou aplikaci, jestli nemá problémy a chyby, které na školení probíráme? Napište mi!


Lecturer

Michal Špaček (about the lecturer, contact the lecturer)


Prerequisites

Stačí základní znalost HTML, JavaScriptu, PHP a SQL. Školení je vhodné i pro vývojáře, kteří pracují v jiných jazycích (např. v Javě nebo Pythonu), většina principů a útoků je shodných.


Target audience

Školení je určeno jak pro stávající tvůrce webových aplikací, tak pro uchazeče o pozici vývojáře PHP, kterým dá konkurenční výhodu.


Date and venue

13. 9. 2017 Praha, 10:0018:00, one hour lunch break (sign-up)
According to the situation, the course can be longer by an extra hour.

Node 5, Radlická 180/50, Praha

Přineste si notebook, bezdrátové připojení k Internetu je k dispozici. Pokud přenosný počítač nemáte, dejte mi vědět, notebook Vám zajistím. Oběd, káva, čaj a minerálka je v ceně školení.

Trainings in Prague are held regularly in the middle of March, June, September, and December, in other cities irregularly.


Capacity

Maximum of 12 participants


Price

3990 Kč, 4828 Kč incl. VAT, 30% discount for students


Materials

Účastníci dostanou tištěnou prezentaci a certifikát. Dostatek prostoru bude věnován na dotazy. Po skončení školení zasílám komentovanou prezentaci e-mailem i s příklady použitými na školení.


Training reviews

Martin Ambrož, AVAST Software a.s.

Školení o bezpečnosti PHP aplikací Michala Špačka předčilo má očekávání. Vývoji webových aplikací se profesionálně věnuji 13 let, přesto musím zkonstatovat, že pořád je co nového se učit. Je vidět, že pan Špaček má o bezpečnosti velký přehled a že je to i jeho koníček. Kromě přehledně zpracovaných podkladů ke školení jsem uvítal i mnoho praktických ukázek a dostatečný prostor pro dotazy přímo při probírání každého tématu.

Adam Tyroň, Růžový slon s.r.o.

Školení se mi líbilo a splnilo má očekávání. Skvěle připravené, teorie proložena praktickými ukázkami. Školení mi sjednotilo a rozšířilo dosavadní znalosti o problematice. Doporučuji aby školením prošli všichni weboví vývojáři.

Filip Klimeš, Startupedia s.r.o.

Na VŠ jsem absolvoval předmět týkající se bezpečnosti webových aplikací, ale chyběly mi praktické znalosti. Michal Špaček je uznávaný odborník na toto téma, proto jsem zamířil na jeho školení. To perfektně splnilo svoji roli, doplnilo i některé mezery v teorii a nuda se na něm rozhodně nekonala. Za tu cenu bezkonkurenční.

All reviews


Sign-up

Date
13. 9. 2017 Praha
Participant
Company details (optional)
load the rest wait… not found, error, again Nejdříve vyberte zemi a zadejte IČO

Zadané údaje budou použity pro vystavení faktury, která vám bude zaslána e-mailem během několika dní, případně pro zaslání pozvánky, pokud se hlásíte na předběžný termín.

Pokud se školení z jakéhokoliv důvodu neuskuteční nebo se přesune na jiný termín, který vám nebude vyhovovat (živelní pohroma, nemoc přednášejícího, …), bude vám vrácena celá zaplacená částka. Pokud nastanou překážky na straně účastníka, může za sebe poslat náhradníka nebo se zúčastnit náhradního termínu.

Školení v tomto rozsahu je možné uspořádat i ve vaší firmě. I also offer consulting for your business, contact me!

Česky