SQL injekcija
SQL injekcija ir datorsistēmu ielaušanās veids, kurā uzbrucējs ar klienta tiesībām mēģina piekļūt datubāzei, kas ir dotās tīmekļa lapas vai aplikācijas pamatā. Mūsdienās SQL injekcija ir vispopulārākais aplikācijas līmeņa uzbrukuma veids. SQL Injekcijas pamatā ir nepareizi uzrakstītas programmas vai web aplikācijas, kas lietotājam ļauj veikt datubāzes vaicājumus, kuras nav paredzējis programmatūras vai mājaslapas izstrādātājs. Šai situācijai pamatā parasti ir nepietiekoša lietotāju ievadītās informācijas pārbaude, kuras rezultātā netiek filtrēti SQL īpašie simboli.
SQL injekcijas piemērs
Autorizācijas forma, kurā jāievada lietotājvārds un parole. Formas nosūtīšanas rezultātā tiek izpildīts sekojošs SQL pieprasījums:
SELECT * FROM lietotaji WHERE lietotajvards='LIETOTAJVARDS' AND parole='PAROLE';
Uzbrucējam nepieciešams piekļūt attiecīgās aplikācijas administratora ierakstam. Lai to izdarītu SQL vaicājumu nepieciešams modificēt sekojošā veidā:
SELECT * FROM lietotaji WHERE lietotajvards='admin' OR lietotajvards=kautkas AND parole='%%'
Ievadot autorizācijas formā lietotājvārda vietā admin' OR lietotajvards=kautkas būs iespējams autorizēties kā lietotājam "admin" nezinot paroli. Dotais SQL piemērs pirmajā gadījumā atlasīs ierakstu lietotāju tabulā kā meklēšanas kritērijus izmantojot lietotāja vārdu UN paroli. Otrajā gadījumā kā meklēšanas kritērijs tiks izmantots lietotāja vārds UN parole VAI tikai lietotāja vārds.
Modificējot datubāzes vaicājumu un pievienojot tam galā loģisko nosacījumu, kas vienmēr izpildās, uzbrucējs lielākajā daļā gadījumu būs spējīgs nolasīt visus dotās datubāzes tabulas ierakstus, vai arī no kļūdas paziņojumiem izdarīt kādus tālākus secinājumus.
Aizsardzība
Lai izvairītos no šāda tipa uzbrukumiem, nepieciešams veikt drošības pasākumus:
- Vienmēr un visur pārbaudīt vai lietotāju ievadītais teksts nesatur kādu no SQL robežsimboliem.
Ārējās saites
![]() | Šis ar informācijas tehnoloģijām saistītais raksts ir nepilnīgs. Jūs varat dot savu ieguldījumu Vikipēdijā, papildinot to. |