Pánem World Wide Webu! aneb povídání o chybě hloupé tak, až to bolí

Podobné dokumenty
17. července :51 z moravec@yahoo.com

Instalace a konfigurace web serveru. WA1 Martin Klíma

Internet Information Services (IIS) 6.0

Testování webových aplikací Seznam.cz

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Identifikátor materiálu: ICT-3-10

Úvod do tvorby internetových aplikací

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Cross- Site Request Forgery

Smlouva na výrobu WWW prezentace a PHP aplikace č. XY

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Úvod do aplikací internetu a přehled možností při tvorbě webu

Jan Forman Manuál CLASSIFICATIO N: public / veřejný dokument IDE NTIFICATIO N N U MBER: AUTH OR:

Dokumentace k API SSLmarketu. verze 1.3

HIT ROKU Zdarma : Hosting plán : TOP

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Platební systém XPAY [

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Registrační číslo projektu: Škola adresa:

language="javascript">... </script>.

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Hitparáda webhackingu nestárnoucí hity. Roman Kümmel

Dobrý SHOP Popis produktu a jeho rozšíření

Celosvětová síť Internet. IKT pro PD1

Malý průvodce Internetem

Hosting a doména. Pavel Urbánek. srovnání providerů a WP požadavky.

Instrukce pro vzdálené připojení do učebny 39d

UPTIME s.r.o. not just another IT company

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Artlingua Translation API

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

OBSAH: Vladimír Nedvěd vedoucí technického oddělení. Změny v dokumentu: Verze 2.0

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

Koláčky, sezení. Martin Klíma

Směrnice Bezpečnost počítačové sítě a ochrana osobních údajů.

Škola. Číslo projektu. Datum tvorby 12. září 2013

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

WWW technologie. HTTP protokol

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Moderní webhosting. Pod lupou... Bc. Martin Podborský ONEsolution s.r.o.

SMĚRNICE Bezpečnost počítačové sítě a ochrana osobních údajů

UŽIVATELSKÉ ŠKOLENÍ LOTUS NOTES

Maturitní projekt do IVT Pavel Doleček

Zranitelnosti webových aplikací. Vlastimil Pečínka, Seznam.cz Roman Kümmel, Soom.cz

INFORMAČNÍ SYSTÉMY NA WEBU

Mediální komunikace. Vysoká škola mezinárodních a veřejných vztahů PhDr. Peter Jan Kosmály, Ph.D

Úvod do informačních služeb Internetu

MOBILNÍ SKLADNÍK. Příručka k základnímu ovládání. Beta verze popisu produktu Aktualizace dokumentu: z 10

ADMINISTRACE UNIXU A SÍTÍ - AUS Metodický list č. 1

Je to SMTP a POP3 server který spolupracuje s GSM branami Alphatech. Převádí SMS zprávy na y a y na SMS zprávy.

PHP a bezpečnost. nejen veřejná

Principy fungování WWW serverů a browserů. Internetové publikování

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Modul pro PrestaShop 1.7

Microsoft Azure Workshop

OBSAH: Změny v dokumentu: Verze 1.0

Šifrování databáze. Popis šifrovací utility

Cross-Site Scripting (XSS)

Dobrý FOTO Popis produktu a jeho rozšíření

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE

Internet WWW (World Wide Web)

Použití databází na Webu

Zásady používání souborů cookie pro panely a průzkumu

Nastavení propojení s eshopem

Ceník platný od Ceny jsou konečné, nejsme plátci DPH.

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Nahrání webu na internet

Všeobecné smluvní podmínky služeb STATION.CZ

Instalace produktu Ontopia. ver (open-source verze)

Mgr. Jaroslav Šilberský

Nové jazykové brány do Caché. Daniel Kutáč

Informační systém ozdravných pobytů zdravotní pojišťovny

XTB VPS. XTB Virtual Private Server manuál

Občanské sdružení CHROPNET Ladova 389\10, Olomouc, IČ: Registrované na Ministerstvu vnitra ČR pod č.j.

Po ukončení tohoto kurzu budete schopni:

Vstupní požadavky, doporučení a metodické pokyny

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Příloha č. 1 Verze IS esyco business

Dobrý CMS Popis produktu a jeho rozšíření

OWASP ZAP - příručka pro začínající uživatele

SQL injection jak ji možná neznáte Roman Kümmel

Mgr. Jaroslav Šilberský

1 Webový server, instalace PHP a MySQL 13

Smlouva o pronájmu diskového prostoru a poskytování souvisejících služeb

Redakční systém Joomla. Prokop Zelený

Nadpis presentace. Princip řešení komunikace mezi IS vysokých škol a maturitní databází z pohledu IS veřejné správy. Petr Hujňák.

Administrace Oracle. Práva a role, audit

Nasazení webových služeb do enterprise prostředí. Petr Steckovič

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 1 VY 32 INOVACE

DNSSEC. Proč je důležité chránit internetové domény? CZ.NIC z.s.p.o. Pavel Tůma

Karta předmětu prezenční studium

Kofax Express 2.5. Příručka pro administrátora. Josef Bureš

Sada 1 - PHP. 09. Formuláře

Nastavení propojení s eshopem

Transkript:

Pánem World Wide Webu! aneb povídání o chybě hloupé tak, až to bolí Roman Kümmel r.kummel@hacker-consulting.cz

WFT?#!$...

Session management HTTP je bezstavový protokol Server si nepamatuje předchozí kroky uživatele Programovací jazyky zavádí relace (sessions) Identifikace uživatele na základě předávaného session ID Vývojář má k dispozici session proměnné Jejich hodnota je perzistentní mezi jednotlivými requesty Server ukládá sessions různých webových aplikací v oddělených částech paměti. S výjimkou PHP

Session storage v PHP PHP ukládá relace do souborů na file systému Defaultně nastaveno na adresář /tmp Storage defaultně sdílí všechny aplikace na serveru Po vytvoření relace vznikne soubor defaultně pojmenovaný SESS_gfrnffptlb9s66kfqur4ib4ld5 Session ID (gfrnffptlb9s66kfqur4ib4ld5) je předáno uživateli jako hodnota cookie (defaultně PHPSESSID) Pokud si aplikace ukládá data do session proměnných, ty se ukládají právě do session souboru

Krádeže relací ze serveru Útočníci se vždy pokoušeli získat seznam aktivních SID (souborů) ze sdíleného úložiště Jako obrana bylo doporučováno Odebrat práva na filesystému pro získání obsahu adresáře

Sdílené sessions Existuje zde ale jiný velice závažný problém Sdílení jedné relace více aplikacemi PHP totiž neví, které aplikaci konkrétní relace patří! Sessions Storage

Kdo může být postižen Poskytovatelé cloudových služeb (www, eshopy) Klienti sdíleného webhostingu Každý, komu na serveru běží více než jedna webová aplikace

Poskytovatelé cloudových služeb Webové stránky snadno a rychle! Prodávejte ve svém novém e-shopu již za 5 minut! Spravujte svůj bussines v našem on-line IS! Je to pěkné, ale má to jeden háček

Poskytovatelé cloudových služeb Předpoklady pro úspěšný útok Každá ze služeb běží na jiné (sub)doméně/cestě http://automobily.skvelyeshop.cz http://motorky.skvelyeshop.cz Přístup do administrace je na této subdoméně http://automobily.skvelyeshop.cz/admin I přes centralizovanou administraci, nemusí být vyhráno http://www.skvelyeshop.cz/administrace?eshop=motorky (detaily později)

Poskytovatelé cloudových služeb Průběh útoku Útočník si založí vlastní e-shop, nebo použije demo účet http://utocnik.skvelyeshop.cz Útočník se přihlásí do administrace svého e-shopu Útočník změní platnost cookie tak, aby platilo i pro cílovou subdoménu, nebo pro všechny subdomény utocnik.skvelyeshop.cz -> (automobily).skvelyeshop.cz Útočník přistoupí do administrace cílového e-shopu (1 demo > 1000 slov)

Sdílený webhosting Levná možnost získání vlastních webových stránek Bez nutnosti vlastní administrace serveru Jednoduché (upload skrz FTP, webové FTP, apd.) I zde je ale jedno ale

Sdílený webhosting Předpoklady pro úspěšný útok Webové stránky klientů jsou uloženy na společném serveru Interpret PHP běží jako modul Webové aplikace spolu sdílí úložiště pro session soubory

Sdílený webhosting Průběh útoku Útočník přistoupí k cílové webové aplikaci http://www.mujbussiness.cz Na serveru vznikne relace Útočník získá prostor na stejném webhostingu (serveru) http://www.utocnik.cz Útočník změní platnost cookie www.mujbussiness.cz -> www.utocnik.cz Na svém webu útočník přečte a změní obsah session proměnných isadmin = False -> isadmin = True (1 demo > 1000 slov)

Vlastní server (VPS) Server s nikým nesdílím Mohu si jej nakonfigurovat dle libosti Mohu si na něm vystavovat kolik chci aplikací I zde ale může číhat problém

Vlastní server (VPS) Předpoklady pro úspěšný útok Na serveru běží více aplikací http://www.nakupujuskreditem.cz http://www.mojeknihovnicka.cz Interpret PHP běží jako modul Webové aplikace spolu sdílí úložiště pro session soubory Vývojář má stále stejné návyky psaní kódu session managementu: if ( $_SESSION[ iduser ] )

Vlastní server (VPS) Průběh útoku Útočník se zaregistruje a přihlásí do jedné z aplikací http://www.mojeknihovnicka.cz Na serveru vznikne session soubor Útočník změní platnost cookie www.mojeknihovnicka.cz -> www.nakupujuskreditem.cz Útočník navštíví cílovou webovou aplikaci www.nakupujuskreditem.cz (1 demo > 1000 slov)

Jiné technologie (.NET, ASP, JAVA) I zde může být problém Cloudové služby Všechy služby mohou být jedinou službou zobrazující pouze rozdílná data a vzhled dle konkrétního uživatele Subdoména je brána jen jako parametr pro určení, která data se mají načíst

Obrana Do session proměnných ukládat také údaj, které aplikaci relace patří a tento při přístupu kontrolovat $_SESSION[ domain ] = muj-eshop Každé aplikaci nastavit vlastní úložiště pro session soubory a vhodně nastavit práva přístupu k tomuto úložišti Open_basedir Spustit interpret PHP jako CGI (FastCGI) Práva na filesystému jsou -rwx------, jiný účet tedy nemá právo číst ani měnit obsah cizího session souboru

Zkušenosti s oznamováním zranitelnosti Nemožnost najít kontakt na zodpovědné osoby Jediný dostupný kontakt je často pouze na nekompetentní podporu Reagovali pouze cca 2% oslovených Oznamující nesmí ve své zprávě nic nabízet (ani pomoc či radu, jak chybu odstranit) = SPAM Dobrý den, obdrželi jsme v rámci zákaznického centra od Vás níže uvedenou zprávu. Prosím o vyřazení našeho emailu z databáze kontaktů. Podobnými zprávami se zahlcuje zákaznická podpora a může se stát, že se z tohoto důvodu nebudeme věnovat jinému Vašemu požadavku souvisejícímu s projekty u naší společnosti.

CZ.NIC a jejich CSIRT Bezproblémové přijetí a vyslechnutí Hledání nejlepšího možného postupu pro oznámení Výsledek: Oznámeno na neveřejné schůzce CSIRT týmů Osloveny hostingové společnosti Nabídnuta možnost otestování hostingu na danou zranitelnost Zranitelných 20% z testovaných hostingů