Mis on SQL-i süstimine?

SQL-i süstimine on koodi sisestamise tehnika, mida kasutatakse andmepõhiste rakenduste ründamiseks, sisestades pahatahtlikud SQL-avaldused täitmisväljale. Andmebaas on mis tahes organisatsiooni oluline osa. Sellega tegeleb organisatsiooni kõrgetasemeline turvalisus. Kõigepealt õpime, mis on SQL.

Mis on SQL?

SQL on struktureeritud päringute keel. Kasutatakse andmebaasi suhtlemiseks ja manipuleerimiseks.

Mida SQL täpselt teeb?

  • Looge uus andmebaas.
  • Kirjete lisamine, värskendamine, kustutamine.
  • Uute päringute loomine.
  • Salvestatud protseduurid.
  • Looge vaateid.
  • Täitke päringuid.
  • Seadistage õigused.

SQL-süst on üks peamisi turvariski. See kuulub küberkuritegevuse alla.

SQL-is on meil mõiste nimega SQL Injection. Seda tehnikat kasutatakse koodi sisestamiseks. SQLi (SQL-i süstimist tuntakse ka kui häkkimise tüüpi, st süstimisrünnakut.) Seda tuntakse ka veebi häkkimise tehnikana.

See süst süstib pahatahtliku koodi andmebaasi, sisestades veebilehele. Nendel sisenditel on teatud tingimused, mis on alati tõesed. Nende tingimustega läbivad häkkerid turvatestid hõlpsalt. Nad saavad hõlpsalt andmeid SQL-andmebaasist. SQL-i süstimise abil saavad nad andmebaasis kirjeid lisada, muuta ja kustutada. See andmebaas võib olla ükskõik kes MySQL, SQL Server, Oracle, SQL Server jt hulgas on ebaseaduslik.

Kui veebisait või rakendus on halvasti kujundatud, võivad need rünnakud kahjustada kogu süsteemi. Sel hetkel tuleb pildile küberturvalisus.

SQL-i süstimise käitumine

Need rünnakud töötavad üldiselt dünaamiliste SQL-lausetega. SQL-süstimine sõltub andmebaasimootorist. See erineb mootoriti. Kui küsime veebilehe kasutajalt sisestust, näiteks kasutajanime ja parooli. Tahtmatult anname kasutajale juurdepääsu selle sisendi andmiseks otse andmebaasi.

SQL-i süstimise tüübid

  1. Riba sisene SQL-i süstimine (klassikaline SQL-i süstimine): selle tehnika puhul kasutab häkker andmebaasi häkkimiseks ja andmete saamiseks st sama tulemuse, st tuleneb andmebaasist.
  1. Vigadel põhinev SQL-i süstimine: seda tüüpi saab häkker andmebaasi veamustri ja pääseb sellele juurde. Võib öelda, et see on ühte tüüpi ribalaiusega SQL-i süstimine.
  1. Liidupõhine SQL-i süstimine: see tehnika on osa ka ribalaiuses olevast SQL-i süstimisest. Selles tehnikas ühendab kasutaja päringu ja saadakse tulemus tagasi kui osa HTTP vastusest.
  1. SQL-i sissepritse (pime SQL-i süstimine): nagu nimigi ütleb, ei kasuta häkker siin sagedusriba andmebaasist andmete saamiseks. Häkkeril on võimalus andmebaasi struktuuri jälgides andmebaasi struktuuri muuta. See on SQL-i süstimise väga ohtlik tüüp. Selle rünnaku täitmine võtab kauem aega. Hacker ei näe selle tehnika abil rünnaku väljundit.
  1. Boolean-põhine (sisupõhine) pime SQL-i süstimine: see on osa Inferencial SQL-i süstimisest. Selle meetodi korral sunnib häkker andmebaasi tulemuste saamiseks tõese või vale tingimuse põhjal. Sõltuvalt sellest olukorrast muutub HTTP-vastuse tulemus. Seda tüüpi rünnak järeldada, kui kasutatud kasuliku koormuse väärtus oli tõene või vale, isegi kui andmebaasist ei tagastata andmeid. Need eriti aeglased rünnakud.
  1. Ajapõhine pimedate SQL-i süstimine: see tehnika on osa ka S Inferencial SQL-i süstimisest. Seda tehnikat kasutavad häkkerid kasuliku kauba laadimiseks. Selle tehnika puhul annavad häkkerid andmebaasile päringu täitmiseks aega. Vahepealne häkker saab tulemuse kohta ettekujutuse, kas see on tõene või vale. Ka see rünnak on oma olemuselt aeglane.
  1. Ribaväline SQL-i süstimine: see on funktsioonipõhine rünnak. See pole eriti tavaline. Häkker kasutab seda rünnakut, kui häkker peab rünnakuks kasutama erinevaid kanaleid ja tulemuse saamiseks teisi kanaleid. Ribavälised SQL-süstimistehnikad sõltuvad andmebaasiserveri võimest esitada häkkerile andmete edastamiseks DNS- või HTTP-taotlusi.

Kuidas see töötab?

Ründaja keskendub andmete saamiseks peamiselt kahel viisil:

  1. Otsene rünnak: erinevate väärtuste kombinatsiooni otsene kasutamine. Siin paneb häkker kinnitatud sisendi, mis annab täpse tulemuse.
  2. Uuringud: andmebaasi analüüsimine erineva sisendi abil. Siin jälgib ründaja andmebaasiserveri vastuseid ja otsustab, milline rünnak tuleb läbi viia.

Nagu me juba arutasime SQL-i süstimise häkkerite poolt, siis sisendielemendis on tingimus alati tõsi. Palun kontrollige järgmist näidet.

EX:

Oletame, et meil on andmebaasist töötajate andmete saamiseks järgmine päring:

500 VÕI 1 = 1

Valige töötajate hulgast *, kus Userid = '500'

Kasutaja ID :

Kui meil pole kasutaja sisendile mingeid piiranguid. Seejärel võivad häkkerid selle välja abil hõlpsalt andmebaasi andmetele juurde pääseda.

Ja päring võib välja näha allpool

Valige * töötajate hulgast, kus Kasutajatunnus = 500 VÕI 1 = 1;

See päring tagastab andmebaasist andmed, kuna 1 = 1 vastab alati tõele. Sel viisil saab tingimus tõeks. See tundub haavatav. See on organisatsiooni jaoks väga ohtlik. Mõelge näiteks pangandussektorile. Kui kasutajatel on Interneti-pangaandmete paroolid, saldoteave jne.

Seda tehnikat on häkkeril väga lihtne saada. Andes lihtsalt andmebaasi mõne sisendi.

Häkkerid saavad andmeid lihtsalt sisestades VÕI ja = sisestades selle andmebaasi.

Kasutajanimi:

”Või“ ”=”

Parool:

”Või“ ”=”

Serveris täidetakse lõpupäring õigesti, tõrkeid ei teki. Andmebaasiserverist andmete saamiseks võite kasutada ka 'OR' 1 '=' 1.

Nüüd tekib küsimus, kuidas säilitada meie andmebaasi turvalisus?

Ja vastus on SQL-i parameetreid kasutades.

Lisades päringu täitmisel täiendavad parameetrid. Neid rünnakuid on mõne allpool toodud tehnika abil lihtne ära hoida.

Ennetamise tehnikad on salvestatud protseduurid, ettevalmistatud avaldused, tavaväljendid, andmebaasiühenduse kasutajaõigused, veateated jne .

Veel üks asi, mis, peaksime mõtlema, on mõistlik ka rakenduses olla erinevatel eesmärkidel erinevad andmebaasid.

Veel üks asi puutub kokku testimisega. Parim viis on ka andmebaasi testimine erinevate tingimuste jaoks.

Järeldus

Andmebaasi loomine on ülioluline osa. Kui teil on oht saada teavet häkkerite käes, pole ühegi rakenduse jaoks hea. Niisiis, andmebaasi loomisel peame selle kaotuse vältimiseks järgima mõnda lihtsat sammu, selleks sobib fraas: “Ennetamine on parem kui ravi”.

Soovitatavad artiklid

See on olnud teemaks Mis on SQL-i süstimine. Siin käsitleme käitumist, selle toimimist ja SQL-i süstimise tüüpe. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Mis on SQL Server?
  2. Mis on SQL | Päringu keel selgitatud
  3. Mis on SQL arendaja?
  4. SQL-i käskude värskendus
  5. Regulaarsed avaldised Java-s

Kategooria: