Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Prvým krokom v pochopení toho, ako je vytvorená vstrekovacie útok SQL je replikáciou problému . SQL injection útoky sú vykonávané prostredníctvom formulárových premenných na stránke HTML . Vytvorenie formulára umožňuje webmaster simulovať a testovať bezpečnosť webového servera . Nižšie je uvedený príklad objektu formulára slúži na vytvorenie útoku SQL injection .
Input type = " text " name = " myname " >
Hoci sa jedná o jednoduchý formulár textbox , to je všetko , čo je potrebné na dosiahnutie SQL injekcie .
Hacker kód
sú SQL príkazy vykonané , vytvorí aplikácie SQL kód , ktorý je odoslaný do databázy . Keď je reťazec poslaný do databázy , kód vyzerá ako nižšie uvedené znenia :
select * from myTable kde name = ' myVariableFromtheForm '
dielik znamená koniec SQL kódu , a je to , kde sa zameriavajú hackeri . Ak textové pole ako ten vytvorený v § 1 je použitý na vytvorenie reťazca , môže hacker zadať niečo ako nasledujúce do textového poľa :
' alebo 1 = 1 , -
môže vyzerať ako blabol , ale v skutočnosti to vstrekuje kód do databázy , ktorý je spustený server . Keď " myVariableFromtheForm " nahrádza vyššie uvedenom kódu , výpis spustiť server v skutočnosti vyzerá takto :
select * from myTable kde name = '' or 1 = 1 - "
" - " je komentár kód pre SQL servera , takže posledná zakončovacie kliešť je ignorovaný . Reťazec je prázdny a hacker vstrekuje kód " 1 = 1 " do vyhlásenia . Čo to robí , je vrátiť všetky riadky z tabuľky do hacker . To je, ako bezohľadný človek kradne osobné údaje z databázových serverov .
Riešenie problému
najlepší spôsob , ako vyriešiť problém v kóde , ktorý je citlivý na injekcie hack SQL je použiť funkciu " Nahradiť " v každom prípade , kde je zadaný text od užívateľov . Napríklad , v kóde ASP , nasledujúci riadok kódu nahradí jeden dielik s dvoma . Keď SQL Server spustí kód s dvoma značkami , to znie ako doslovný a reťazec nie je ukončená
string.Replace ( " ' " , " '' " ) ; .
vyššie uvedený kód nahradí všetky výskyty jedného podtržníkom s dvoma , odstránenie zraniteľnosti útoku SQL injection .
Copyright © počítačové znalosti Všetky práva vyhradené