Webové aplikace - 2. díl - Webová struktura blíže
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Webové aplikace - 2. díl - Webová struktura blížeWebové aplikace - 2. díl - Webová struktura blíže

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Webové aplikace - 2. díl - Webová struktura blíže

Google       Google       9. 12. 2005       17 097×

Podíváme se na zoubek stavbě webu, probereme blíže každou jeho část. Navíc si u každé komponenty ukážeme její největší slabiny a nedostatky...

Reklama
Reklama

Základní model sítě

Nejprve si povíme něco o tom, jak ten systém vlastně schématicky vypadá.

Tak tohle je přibližné schéma standardní aplikace. Jak vidíte, komunikace mezi dvěma servery musí projít sítí pomocí protokolů Ethernet nebo TCP/IP, dále pak systémem, jenž složí pakety dohromady a poté musí projít vrstvou takzvaných služeb, ve kterých se nacházejí servery. Přes takzvanou aplikační logiku (vysvětlíme) se dostáváme k vytouženým datům. Přitom každé místo na tomto schématu skrývá nedostatky a tím dává možnost k útoku. Nyní si probereme všechny komponenty této stavby. Dostáváme se k předmětu tohoto seriálu.

Klient neboli webový prohlížeč a jeho imitace

Jak jsme již poznamenali, do jazyka HTML, jenž je sám o sobě statický, je možno přidávat nejrůznější nadstavby a vylepšení, které jazyk zdynamizují, aby vyhovoval dnešní poptávce. Pro příklad uvedeme aktivní obsah ActiveX od Microsoftu nebo Java od firmy Sun Microsystems.

Když se prvek ActiveX zobrazuje v prohlížeči, je ovladač pro jeho zobrazení buď stažen ze serveru, jenž prvek prezentuje, nebo je přímo v našem počítači. To je velmi pravděpodobné, protože se sám instaluje při zavádění Windows nebo jiných aplikací. Poté se pomocí technologie Authenticode zkontroluje jeho samotná pravost pomocí zprávy o původu prvku a uživateli se nabízí možnost prvek přijmout či nikoli. Pokud uživatel považuje zdroj za důvěryhodný, skript se zobrazí.

Webový prohlížeč je velká zbraň hackerů. Je schopen komunikovat nejen pomocí HTTP, ale poradí si i s již zmíněným SSL nebo FTP. V této publikaci nahradíme váš prohlížeč (tj. MS Internet Explorer, Mozilla Firefox, Opera atd.) nástroji, jež provádějí jednoduché požadavky pomocí HTTP, a v nichž tyto požadavky sami definujete a sami vyhodnotíte odpověď serveru. Máte tak možnost zobrazení výsledků ještě před jejich případnou úpravou vaším prohlížečem, který se snaží případné nedostatky skrýt a maskovat. Tyto primitivní nástroje, jež pracují většinou pouze v příkazovém řádku, se dají posoudit jako imitace prohlížeče.

Server

Je to služba HTTP, která přijímá požadavky klientů, odevzdává je aplikaci, ta vrátí odpověď a server ji vrací klientovi. Servery mohou být IIS (Internet Information Server) od Microsoftu, Apache od ASF (Apache Software Foundation), iPlanet od Sun Microsystems nebo například NES (Netscape Enterprise Server) od AOL (America OnLine) & Netscape.

Aplikace

Aplikace se běžně skládá ze tří základních vrstev: prezentační, logická a datová.

Prezenční vrstva zaznamenává vstup uživatele a ukazuje mu výsledky.
Logická vrstva přebírá hodnoty zadané do prezentační vrstvy a dále je zpracovává. Pošle dotazy do "skladu" dat jménem datová vrstva. Logická vrstva je opět předá prezentační vrstvě pro zobrazení klientovi.

Nyní si představte, že na vašem webu je například telefonní seznam reprezentovaný formulářem, do nějž zapíšete vstupní data. Logickou vrstvu zde představuje spustitelný program, který vaše údaje zkontroluje (zda neobsahují nepovolené znaky) a použije konektor pro připojení k datové vrstvě. Pak zadá dotaz pomocí vstupního řetězce. Datová vrstva obsahuje názvy všech souborů uložených na disku. Databáze vrátí seznam vyhovujících záznamů logické vrstvě a ta jej po odstranění přebytečných dat vrátí prezentační vrstvě. Existují v tomto systému však i výjimky. Například technologie ASP (Active Server Pages) umožňuje vkládat serverovou logiku do webových stránek v prezentační vrstvě. Zde jsou vypsány některé technologie používané pro tvorbu webové logiky:

ASP, ASP.NET, ISAPI, COM (Common Object Model), JavaScript od Microsoftu, Java 2 Enterprise Edition (J2EE) od Sun Microsystems, PHP (Hypertext PreProcessor) a Jakarta (=serverová Java) od Apache Software Foundation. Společné těmto technologiím je to, že pracují více jako "nativní" formy, než jako statické stránky jako např. HTML.

Takto vypadá například požadavek na skript PHP:


http://www.nejaka-domena.cz/neco.php?id=43&format=html

V tomto příkladu je soubor neco.php spustitelným souborem. Znaky dále za otazníkem jsou dodatečné argumenty. Tohle je veliká výzva pro hackery, protože tento fakt dává vzdáleným uživatelům zadávat na serveru kód s uživatelsky definovaným vstupem.

Databáze

Datové vrstvě se jinak říká také "back end". Dodavateli jsou SQL a Oracle. Tato vrstva je s logikou spojena datovými konektory, např. ODBC (Open DataBase Connectivity).

Servery proxy

Cílem a důvodem jejich zavedení je snaha o zprostředkování společné brány všem uživatelům, kteří se k Internetu chtějí připojit. Tento mechanizmus umožňuje, aby byl internetový obsah ukládán do jakési mezipaměti, tím pádem zvýšit rychlost a šetřit šířku pásma. Z hlediska hackerů jsou tito dnes již velmi hojně využívaní prostředníci ale nevítaným problémem. Průchodem přes server proxy se totiž naruší IP adresa uživatele a za zdrojovou se považuje adresa serveru proxy, přes níž požadavek prošel. Na tomto principu také fungují anonymizéry. Na stránce s anonymizérem zadáte požadovanou internetovou adresu a vaše připojení běží přes server proxy, tzn. na oné stránce se zobrazí IP anonymizéru. Pozor tedy na zobrazované IP, jsou velmi zavádějící. Dva požadavky od stejné IP neznamenají ještě stejného klienta.

Zařízení pro vyrovnávání zátěže

Algoritmy pro vyrovnávání zátěže se dají opět rozdělit na statické, u nichž jsou požadavky zpracovávány předem daným způsobem, a dymnamické, které předávají požadavky klientů serverům s přídavnými informacemi, jako je minimum požadavků nebo nejrychlejší spojení. Nejznámějšími typy jsou CLD (Cisco Local Director), NLB (Network Load Balancing) nebo Big-IP od společnosti F5.

Postup vypadá následovně: Váš požadavek je vyrovnávacím zařízením doručen všem serverům. Podle vnitřního algoritmu však odpoví pouze jeden server. Zbytek požadavků je pak směrován na něj, dle vnitřního algoritmu pro vyrovnávání zátěže. Vyrovnávací zátěže dělají hackerům také značné problémy. Scanování portů zde přináší klamné výsledky.

Webové služby

Jsou to jakési samostatné modulární webové aplikace. Jsou založeny na webovách standartech WSDL (Web Service Definition Language), XML formátu pro popis síťových služeb. Dále na specifikaci UDDI (Universal Description, Discovery and Integration), na sadě protokolů XML a infrastruktuře pro popis síťových služeb. Dále je zde SOAP (Simple Object Access Protocol), jenž zajišťuje komunikaci mezi síťovými službami.

Souhrn slabin jednotlivých částí struktury

Klient: Spouštění aktivního obsahu, zneužití chyb klientského softwaru, chyby umožňující cross-site scripting.
Přenos: Odposlech komunikace klient-server, přesměrování SSL.
Server: Slabá místa jednotlivých softwarů webových serverů (budeme probírat později).
Aplikace: Útoky na ověřování, autorizaci, strukturu webu, validaci vstupních údajů a aplikační logiku.
Databáze: Spouštění požadovaných příkazů prostřednictvím databázových dotazů. Manipulace s daty tak, aby byla vrácena citlivá data.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor se zajímá o bezpečnost sítí a systémů a o hacking.

Nové články

Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Reklama
Reklama
Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Obrázek ke článku Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Snad nikdy není špatná příležitost na investici do hodnotného vzdělání. Obzvlášť v případě, že absolvent dovede teoretické poznatky přetavit v praktické dovednosti, využitelné při řešení problémů i v komunikaci. Právě na to se specializuje studijní program MBA Řízení informačních technologií, vyučovaný na Business Institutu.

Obrázek ke článku Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Pandemie Covid-19 otřásla trhem práce v základech. Dopady krize pocítilo celkově až 45 % zaměstnanců. Není divu, že čím dál větší jistotu přináší obor IT. Ten zůstal krizí téměř nepoznamenán a při nutnosti začít dělat věci na dálku se ještě více ukázalo, jak moc mnohé firmy kvalitní IT potřebují. Do IT nyní přicházejí začátečníci, kteří v něm vidí lukrativní budoucnost a jistotu, ale i freelanceři a zaměstnanci z oborů zasažených krizí

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý