SQL Injection Scanner Tools
slabý kód webové aplikace může hackerům umožnit přístup k vaší databázi a síti
SQL Injection přehled
SQL injection je v současné době nejběžnější formou útoku na webové stránky v tom, že webové formuláře jsou velmi časté, často nejsou správně kódovány a hackerské nástroje používané k nalezení slabých stránek a jejich využití jsou běžně dostupné online. Tento druh zneužití je dostatečně snadný k dosažení toho, že i nezkušení hackeři mohou dosáhnout neplechu. V rukou velmi zkušeného hackera však slabost webového kódu může odhalit přístup na webové servery na kořenové úrovni a odtud lze dosáhnout útoků na jiné síťové servery.
Structured Query Language (SQL) je téměř univerzální jazyk databází, který umožňuje ukládání, manipulaci a načítání dat. Databáze, které používají SQL, zahrnují MS SQL Server, MySQL, Oracle, Access a Filemaker Pro a tyto databáze jsou stejně předmětem útoku SQL injection.
webové formuláře musí umožňovat určitý přístup k vaší databázi, aby umožňovaly zadávání dat a odpověď, takže tento druh útoku obchází brány firewall a obranu koncových bodů. Jakýkoli webový formulář, dokonce i jednoduchý přihlašovací formulář nebo vyhledávací pole, může poskytnout přístup k vašim datům pomocí SQL injection, pokud je kódován nesprávně.
jak SQL Injection funguje
vyhlídky, zákazníci, zaměstnanci a obchodní partneři mohou mít právo ukládat nebo načítat informace z vaší databáze. Váš web pravděpodobně umožňuje každému návštěvníkovi webu odesílat a načítat data. Legitimní přístup pro návštěvníky zahrnuje vyhledávání na webu, registrační formuláře, kontaktní formuláře, přihlašovací formuláře a všechny tyto poskytují okna do vaší databáze. Tyto různé přístupové body jsou docela pravděpodobně začleněny do aplikací „off-the-shelf“ nebo mohou být vlastní aplikace nastavené pouze pro váš web. Tyto formuláře a jejich podpůrný kód pravděpodobně pocházejí z mnoha zdrojů, byly získány v různých časech a případně instalovány různými lidmi.
SQL injection je použití těchto veřejně dostupných polí k získání vstupu do vaší databáze. To se provádí zadáním příkazů SQL do polí formuláře namísto očekávaných dat. Nesprávně kódované formuláře umožní hackerovi použít je jako vstupní bod do vaší databáze, kdy mohou být data v databázi viditelná a může být možný přístup k jiným databázím na stejném serveru nebo jiných serverech v síti.
funkce webových stránek, jako jsou kontaktní formuláře, přihlašovací stránky, žádosti o podporu, vyhledávací funkce, pole zpětné vazby, nákupní vozíky a dokonce i funkce, které poskytují dynamický obsah webové stránky, jsou náchylné k útoku SQL injection, protože samotná pole prezentovaná pro návštěvníka musí umožnit, aby alespoň některé příkazy SQL procházely přímo do databáze.
SQL Injection Risk
vzhledem k tomu, že databáze řídí mnoho funkcí webových stránek, téměř všechny webové stránky zvou vstup od návštěvníků a tolik webových formulářů je zranitelných, SQL injection se stala a po celá léta zůstala nejběžnější formou použitého hackerského nástroje webových stránek. Navíc tolik zločinců nyní používá SQL injection, že se téměř denně objevují nové slabiny serveru, aplikací a kódu.
naše vlastní záznamy naznačují, že většina (více než polovina) webových stránek, které jsme byli požádáni o skenování, měla rizika SQL injection vysoké nebo střední úrovně. Vysoká míra rizika je ten, který je ve skutečnosti odemčený, nestřežené dveře. Střední riziko je takové, které by v kombinaci s jedním nebo více dalšími faktory mohlo znamenat potíže. Ještě větší počet webů měl problémy s nízkým rizikem. Co potřebujete vědět: procento webů, které mají alespoň jedno hlavní riziko, se ve skutečnosti zvyšuje.
přestože SQL injection je již léta známým problémem, existuje několik faktorů, které způsobují zvýšení míry rizika. První je, že více společností nabízí více interakce webových stránek s návštěvníky a tento trend dramaticky roste. Druhým je, že jak více hackerů získává dovednosti v SQL injection, objevují více aplikací a služeb, které jsou náchylné k útoku a vyvíjejí nové útoky na staré aplikace. Výsledkem je téměř exponenciální nárůst příležitostí k použití této metody útoku.
vaše riziko úspěšného útoku pomocí SQL injection je založeno na dvou faktorech: povaze a velikosti vaší firmy a věku, stavu aktualizací a oprav ve vašich aplikacích a dovednosti a počtu vašich technických pracovníků. To se scvrkává na to, zda jste zajímavý cíl a zda váš webový server, aplikace na něm a kód vašeho webu jsou dobře navrženy, dobře integrované a mají všechny aktuální opravy a aktualizace.
vaše stránky jsou v bezprostředním nebezpečí, pokud vaše společnost ukládá data vysoké hodnoty, pokud vaše společnost nebo subjekt Působí ve vysoce sporné oblasti podnikání nebo pokud má váš web politický nebo společenský význam nebo hodnotu. Samozřejmě, pokud máte něco peněžní hodnoty, pak jste cílem. Jste však také cílem, pokud je váš web lídrem v názorovém prostředí. Byli jsme požádáni bloggery o pomoc, protože předmět, na který se vztahuje, nakreslil útoky SQL injection.
útoky SQL injection jsou nyní vyžádány online. Rozrušený zákazník, konkurent, nebo dokonce bývalý manžel si nyní může snadno najmout „dítě skriptu“ – nebo horší, talentovaný hacker-zaútočit na web. Šance, že hackera chytí, je nízká. Šance, že rozrušená strana může způsobit poškození vašeho webu, aniž by byla prsty, protože odpovědná strana je vysoká.
technicky jste vystaveni riziku SQL injection, pokud máte nějaké zařízení nebo aplikace, které nebyly rutinně aktualizovány a opravovány, nebo pokud máte na svém webu kód, který nebyl správně napsán. Stáří zařízení, aplikace a kód jsou hrubým ukazatelem rizika. Dalším je počet zapojených serverů, počet aplikací a počet přístupových bodů na webové stránky. Pokud používáte hostované servery nebo používáte externí technické zdroje, je důležitá Kontrola zabezpečení vašeho webu třetí stranou. A dokonce i interní zaměstnanci mohou být tak tlačeni na čas a krátké zdroje, že aktualizace a opravy mohou být zpožděny nebo starý starší kód používán bez řádné kontroly.
SQL Injection Example
pokaždé, když návštěvník webu zadá data do formuláře na vašem webu, vygeneruje se dotaz SQL a doručí se do vaší databáze. V případě jednoduchého přihlašovacího formuláře se do databáze Zobrazí uživatelské jméno a heslo a pokud je platné, databáze odpoví odpovědí a uživateli je umožněn přístup (nebo ne). Takže bez ohledu na to, jak jednoduchý je formulář nebo webový proces, je vyžadován přístup k databázi a očekává se odpověď.
pomocí SQL injection se hacker pokusí zadat speciálně vytvořené příkazy SQL do pole formuláře místo očekávaných informací. Záměrem je zajistit odpověď z databáze, která pomůže hackerovi porozumět konstrukci databáze, například názvy tabulek. Dalším krokem by byl přístup a zobrazení dat v důležitých tabulkách nebo přidání dat do tabulek, například přidání nových účtů nebo uživatelských jmen a hesel. Třetím krokem, zhruba, by bylo použití přístupu k databázi k objevování a změně nastavení zabezpečení na serveru, který by umožnil přístup správce hackerů.
jakýkoli dynamický skriptovací jazyk včetně ASP, ASP.NET, PHP, JSP a CGI jsou náchylné k útoku. Jediné potřebné vybavení je webový prohlížeč. Existují nástroje široce dostupné online, které částečně automatizují proces hledání slabých stránek, a existuje mnoho fór, ve kterých hackeři sdílejí exploity a navzájem si pomáhají překonávat překážky.
SQL Injection výsledky
jak si dokážete představit, hacker, který získá administrativní přístup k vašemu serveru, znamená, že útočníkovi účinně ztratíte všechna data na tomto serveru. Ještě horší je, že za vaším firewallem je nyní předmostí, ze které lze nyní provádět útoky na jiné servery a služby. Tímto způsobem SQL injection může poskytnout přístup ke všem firemním nebo osobním údajům.
z pohledu hackera je součástí hacku, který je téměř stejně důležitý jako vloupání, zachování utajení. Spuštění ‚alarm‘ nějakého druhu je poslední věc, kterou chtějí udělat. Jejich infiltrační práce vyžaduje čas a často hodnota ukradených dat klesá, pokud je krádež objevena(například informace o hodnotě při krádeži identity nebo krádeži kreditní karty). Tak SQL injection hacky jsou často objeveny měsíce a v některých případech roky po jejich zahájení.
alternativně, pokud je záměrem přímé poškození, pak není nedostatek špatných věcí, které lze v databázi udělat, jakmile člověk získá přístup ke spuštěným příkazům. Celá tabulka může být trvale odstraněna pomocí jediného příkazu SQL. Sofistikovanější SQL injection útok by však mohl zahrnovat masivní poškození velkých databází a dokonce i zničení záložních kopií.
obrana proti SQL Injection
protože webové stránky vyžadují neustálý přístup k databázi, brány firewall poskytují malou nebo žádnou obranu proti útokům SQL injection. Vaše webové stránky jsou veřejné a brány firewall musí být nastaveny tak, aby umožňovaly každému návštěvníkovi webu přístup k vaší databázi, obvykle přes port 80/443.
antivirové programy jsou stejně neúčinné při blokování útoků SQL injection. Jsou určeny k odhalení a zastavení zcela jiného druhu příchozích dat.
nejčastěji používaná SQL injection defense se skládá ze dvou složek. Nejprve je rutinní aktualizace a oprava všech serverů, služeb a aplikací, což má samozřejmě mnoho výhod a je běžnou praxí. Pak je produkovat a používat dobře napsané a dobře testované webové stránky kód, který zakazuje neočekávané příkazy SQL.
tyto dvě obrany jsou ze své podstaty dostatečné k zastavení jakéhokoli útoku SQL injection. Tak, proč jsou zranitelnosti a rizika webových stránek na vzestupu a proč se úspěšné útoky vyskytují častěji? Odpovědi jsou jednoduché, a zkombinujte do skličujícího seznamu:
- počet serverů, aplikací a objem kódu na webových stránkách se zvyšuje
- tyto servery, aplikace a kódové jazyky vzájemně spolupracují někdy nepředvídatelnými způsoby
- počet a frekvence aktualizací a oprav se zvyšuje
- IT oddělení dělají více práce s menším počtem zaměstnanců a některé činnosti, jako jsou aktualizace, jsou odloženy
- obrat zaměstnanců IT a propouštění někdy zanechávají maskované díry v bezpečnostních rutinách
- Automatická instalace každé opravy a aktualizace, která přichází, často produkuje nežádoucí vedlejší účinky
- starší kód se často znovu používá, když jsou stránky aktualizovány, někdy udržuje kód napsaný podle starých standardů v provozu dlouho poté, co byl zastaralý
- počet lidí, kteří se pokoušejí dělat hacky a počet dostupných nástrojů pro zjednodušení hackování se zvyšuje téměř exponenciálně
stále více společností s obrovskými rizikovými faktory a velkými webovými „stopami“ dochází k závěru, že oprava všeho a najímání více zaměstnanců, aby sledovali práci stávajících zaměstnanců, již není životaschopná.
webové stránky SQL Injection Scanner Tool Solution
nové řešení útoků SQL injection (a všech ostatních webových útoků) je zaměřit omezený a cenný IT čas na vážná rizika, která jsou skutečně přítomna, spíše než používat brokovnici a aplikovat všechny možné opravy na každý server, každou aplikaci a každou stránku kódu, ať už to bylo potřeba nebo ne. Tento nový přístup je jako nechat lékaře vyhodnotit pacienta a zakázat ten lék, který je potřebný k výrobě léku, spíše než nechat pacienta jít přímo do lékárny, aby získal všechny možné léky a vzal je všechny najednou.
tak větší bezpečnost je dosaženo pomocí webových aplikací testovací nástroje, jako je beSECURE, jako SQL injection scanner nástroj zkoumat (skenování) webové stránky pomocí seznamu tisíců známých útoků a pak zprávu o relativně málo (obvykle méně než tucet) vážné problémy.
skenování webových stránek funguje na základě zjištění a hlášení známých rizik. Běžné hackování je velmi „veřejná“ aktivita. Nástroje jsou široce podporovány. Techniky jsou široce šířeny na veřejných fórech. Dokonce i nové metody se stanou veřejnými během několika hodin nebo dnů od jejich prvního použití, díky skupinám jako SecuriTeam.com a další, kteří sledují a pak obecně varují ostatní.
BeSECURE, automatizovaný systém detekce zranitelnosti, je webová služba, která využívá kompilaci všech známých rizik do rodin a všech rodin do jediné databáze, která trvala mnoho let, než se sestavila a mnoho hodin denně udržovala. Pomocí této databáze může beSECURE vyhodnotit jakýkoli web a vytvořit zprávu o skutečných a současných rizicích hodnocených podle jejich relativního významu-často během několika hodin a bez narušení probíhajících aktivit na webu.
Nyní si můžete vzít své cenné hodiny it člověka a přímo řešit skutečná rizika, jako je SQL injection, než strávit stovky hodin instalací oprav a aktualizací, z nichž většinu nepotřebujete nebo které zvládají rizika, která jsou tak malá, že jsou zanedbatelná.
pro více informací o beSECURE použijte formulář na této stránce nebo nás kontaktujte.