Web Application Scanning RAC QualysGuard InfoDay 2010 1
RAC QualysGuard InfoDay 2010 Webová aplikace Co to je webová aplikace Zákaznická aplikace založená převážně na HTML protokolu Jako klientské prostředí je použit webový prohlížeč (Microsoft Explorer, Mozilla Firefox, Opera) Serverové prostředí založeno na webovém engine (Apache, IIS) Logika převážně založena na relační databázi (Oracle, MS SQL, MySQL) a skriptovacím jazyku (PHP, ASP, .NET, Java) Příklad webových aplikací Portál Informační systém Internetový obchod, Internetové bankovnictví Intranetová / extranetová aplikace Redakční systém, CMS RAC QualysGuard InfoDay 2010 2 (c) 2007 Risk Analysis Consultants / SmithNovak
Příklad webové aplikace RAC QualysGuard InfoDay 2010 3
Co testuje QualysGuard VM Které zranitelnosti najde QualysGuard VM Zranitelnosti hostitelského serveru (Windows server, Linux) Zranitelnosti webového engine (Apache, IIS) Zranitelnosti skriptovacích jazyků (PHP, ASP, Java) Chyby v šifrování u SSL/HTTPS Zranitelnosti známých webových aplikací (OpenSource, CMS) Které zranitelnosti nenajde QualysGuard VM Neprohledává strukturu webové aplikace do hloubky Chybové stránky uvnitř aplikace Zranitelnosti nedostatečné validace vstupních parametrů (SQL Injection apod..) Webové servery vyžadující autentizaci RAC QualysGuard InfoDay 2010 4 4 (c) 2007 Risk Analysis Consultants / SmithNovak
Modul - Web Application Scanning RAC QualysGuard InfoDay 2010 5
Základní údaje webové aplikace RAC QualysGuard InfoDay 2010 6
Přihlašovací informace Serverové přihlašování Použito na některých webových serverech Několik typů přihlašovaní Basic Digest NTLM RAC QualysGuard InfoDay 2010 7 7 (c) 2007 Risk Analysis Consultants / SmithNovak
Zadání přihlašovacích údajů do WAS RAC QualysGuard InfoDay 2010 8
Formulářové přihlašování Používá většina webů Přihlašovací formulář je vytvořen vývojářem, přihlašovací proměnné jsou různé Při přihlašování použity často další skryté parametry, např. cookies RAC QualysGuard InfoDay 2010 9 9 (c) 2007 Risk Analysis Consultants / SmithNovak
Získání údajů pro formulářové přihlášení Nutno zadat přihlašovací informace Není úplně triviální, nutno ve spolupráci s vývojářem nebo použít pomocné nástroje Vhodné použít např. pluginy do Mozilly Firefox: LiveHTTPHeaders, Tamper Data Umožňují zobrazit textová html data mezi serverem a klientem Příklad dat: loggedURL=http%3A%2F%2Femail.seznam.cz%2Fticket&serviceId=email&forceSSL=0&username=novak&domain=seznam.cz&password=aaaa&js=1 RAC QualysGuard InfoDay 2010 10 10 (c) 2007 Risk Analysis Consultants / SmithNovak
Vkládání přihlašovacích údajů RAC QualysGuard InfoDay 2010 11
Další volitelné parametry testování Black list V jaké části aplikace nemá probíhat testování Odkazy pro odhlášení, změna hesla, administrace uživatele White list V jaké části aplikace má probíhat testování Vhodné pro testování pouze části aplikace , např. u rozsáhlých webových aplikací Brute force Prověří přihlašovací formulář na kombinaci jmen a hesel Vyhledání citlivých informací Čísla kreditních karet Výskyt libovolného textového řetězce RAC QualysGuard InfoDay 2010 12 12 (c) 2007 Risk Analysis Consultants / SmithNovak
Spuštění testu webové aplikace RAC QualysGuard InfoDay 2010 13
RAC QualysGuard InfoDay 2010 Výsledný protokol WAS RAC QualysGuard InfoDay 2010 14
RAC QualysGuard InfoDay 2010 Typy nálezů WAS Všeobecné informace Struktura webové aplikace Odkazy na externí weby, vadné odkazy, seznam emailů Vlastnosti Session, Cookies, formulářů SQL Injection Způsobeno nedostatečnou validací vstupů Umožňuje získat data z databáze nebo obejít přístupová práva aplikace XSS Cross-site scripting Umožňují podvrhnout část obsahu webu Další zranitelnosti Stránky generující chybová hlášení Soubory, adresáře, výpisy adresářů Nálezy citlivých informací RAC QualysGuard InfoDay 2010 15 15 (c) 2007 Risk Analysis Consultants / SmithNovak
RAC QualysGuard InfoDay 2010 Shrnutí WAS WAS poskytuje následující výhody Automatické testování webové aplikace, možnost sledování změn v čase, audit přístupových práv uživatelů Prohledání celé struktury aplikace včetně autentizace Testovací algoritmus vyvíjen na základě uznávané metodologie Open Web Application Security Project (OWASP) Odlišnosti od klasického penetračního testování Nutnost větší spolupráce s vývojáři, nálezy jsou obtížněji interpretovatelné Nenajde zranitelnosti související např. se špatnou logikou přístupových práv aplikace, session stealing Ruční testování specialistou na bezpečnost webové aplikace je nutné pro komplexní kontrolu bezpečnosti WAS současí QualysuGuard od 4Q2010, vývoj neustále probíhá, přes 10 verzí RAC QualysGuard InfoDay 2010 16 16 (c) 2007 Risk Analysis Consultants / SmithNovak