Co je to SQL Injection?
Vkládání jazyka SQL (Structured Query Language) je typ útoku, který se téměř vždy pokouší proti webové stránce, která je řízena databází. Je snahou vložit do dotazů serveru SQL škodlivý kód, aby došlo k narušení správy dat zničením, změnou nebo odhalením dat uložených v tabulkách databáze, která řídí server. SQL je standardní programovací jazyk používaný k vytváření, aktualizaci a načítání dat uložených v databázích.
Nebezpečí útoků SQL injekcí je četných a často velmi devastujících, když jsou úspěšně prováděny. Citlivé informace, jako jsou čísla kreditních karet, zdravotní záznamy osoby, uživatelská jména a hesla pro účty, jako je online bankovnictví a e-mail, jakož i různé typy identifikačních čísel, mohou být vystaveni počítačovým zločincům. Ačkoli krádež dat je pravděpodobně hlavním cílem každého, kdo se pokouší použít SQL injekci, není to jediná motivace pro použití této nebo jakéhokoli jiného typu techniky vkládání kódu, jako je skriptování napříč lokalitami. Návštěvníci webových stránek zobrazujících informace, které se jim nelíbí, by se mohli pokusit o útoky SQL injekcí, aby deaktivovali web, ukradli data nebo změnili data a zničili tak poslání lidí za webem.
Někdy se pokus o SQL injekci pokouší proti webové stránce nespokojeným návštěvníkem, který mohl mít majiteli stránek zakázán jeho účet, který závidí popularitu webu nebo se snaží zničit online podnikání někoho, koho považuje za být nepřítelem. Znalost jazyka SQL je evidentně nutná k zahájení útoku SQL injekcí, ale obecně se nepovažuje za velmi obtížné se naučit jazyk ve srovnání s jinými programovacími jazyky a toho lze dosáhnout jen pomocí základního, ale solidního porozumění tomu, jak používat to. To znamená, že existuje mnoho lidí, kteří surfují po internetu a mají potřebné dovednosti, aby se pokusili o injekci SQL proti webové stránce.
Weboví vývojáři, zejména ti, kteří se specializují na back-end vývoj webových aplikací, jsou zodpovědní za zajištění toho, aby weby, které programují, byly zabezpečeny proti SQL injection. Téměř vždy existuje více než jeden způsob, jak dosáhnout takové důležité bezpečnosti, a většina z těchto metod je považována za jednoduchá, ale velmi účinná řešení. Například vývojář může použít funkci mysql_real_escape_string () nebo připravené příkazy při skriptování v jazyce hypertextového preprocesoru (PHP). Metody zvolené k ochraně před útokem musí být pečlivě zváženy, protože výkon webu jako celku nelze přehlížet ani při nastavování zabezpečení.