SQL injekcijas uzbrukums: kas tas ir un kā to novērst.

  • Sep 03, 2023

Tā, kā Yahoo! tika uzlauzts, SQL injekcijas uzbrukums ir tāda pati metode, kā daudzi citi uzlauzumi, kas nesen publicēti ziņās: SQL injekcija. SQL injekcijas uzbrukumi ir izplatīti šādu iemeslu dēļ: • SQL injection ievainojamību izplatība; • datu bāzes ir pievilcīgi mērķi. jo tie parasti satur svarīgu lietojumprogrammu informāciju • Pieeja (t.i., uzlaušana) nav jauna un ir labi dokumentēta desmitiem forumos

Tā, kā Yahoo! tika uzlauzts, SQL injekcijas uzbrukums ir tāda pati metode, kā daudzi citi uzlauzumi, kas nesen publicēti ziņās: SQL injekcija. SQL injekcijas uzbrukumi ir izplatīti šādu iemeslu dēļ:
• SQL injekcijas ievainojamību izplatība
• Datu bāzes ir pievilcīgi mērķi, jo parasti tajās ir ietverta svarīga informācija par lietojumprogrammām
• Pieeja (t.i., uzlaušana) nav jauna, un tā ir labi dokumentēta desmitiem forumu
Kamēr Tech Crunch ziņoja, ka daudzi lietotāji izmantoja smieklīgi vājas paroles, piemēram, “12345” un “parole”, kurām ir spēcīga parole, kā es nesen rakstīju Cīņa pret Anonymous, LulzSec un globālajiem kibernemierniekiem

, ir nevērtīgs, ja vietnes serveri vai lietojumprogrammas nav atbilstoši konfigurētas vai ielāpētas.
Tātad, kas ir SQL injekcijas uzbrukums?

SQL injekcijas uzbrukuma mērķis ir apdraudēt datu bāzi, kas ir organizēta datu kolekcija un atbalsta datu struktūras. Dati var ietvert lietotājvārdus, paroles, tekstu utt.
Strukturētā vaicājumu valoda ir programmēšanas valoda, ko izmanto datu pārvaldībai datubāzē; pareizāk, relāciju datu bāzes pārvaldības sistēmas (RDBMS). Pārvaldības sistēmu veidi, kas izmanto strukturēto vaicājumu valodu, ietver Microsoft SQL datu bāzi, Oracle, MySQL, PostgreSQL un citus.
Vienkāršs piemērs tabulas nosaukuma pamatinformācijas iegūšanai būtu šāds:
Izvēlieties * no tabulas_nosaukums :
Šajā paziņojumā tiek izmantota aizstājējzīme (*), lai atgrieztu tabulas saturu. Uzlaušana var ietvert arī informācijas ievietošanu datu bāzē, piemēram, jaunu lietotāju, lai izdarītu sliktas lietas.
ievietot lietotāju (lietotājvārds, lietotāja ID) vērtības ("HackerBob","hb123");
Uzlaušanas mērķis nav tikai iegūt informāciju no mērķa vietnes. Atkarībā no ļaunprātīgo huligānu nodoma, kas jums uzbrūk, tas var ietvert pieteikšanās apiešanu, piekļuvi datiem, kā Yahoo! gadījumā, lai mainītu vietnes saturu, piemēram, kad hakeri vietni aizstāj ar jaunu sākumlapu vai vienkārši izslēdz serveri. Bieži vien tā ir iepriekš minēto kombinācija.
Pirmais uzbrukuma solis ir vietnes skenēšana, lai noskaidrotu, vai nepastāv ievainojamība. Ticiet vai nē, hakeru labākais draugs ir Google. Izmantojot Google Dork, hakeris var meklēt ievainojamības, izmantojot Google trikus. Kad vietne tiks identificēta, hakeris mēģinās nostiprināties un meklēt failus, kuros ir lietotājvārdi un direktoriji, kuros ir zināmi sensitīvi dati.
Uzbrukums ir oportūnistisks, un nav nepieciešams daudz pētījumu vai lielas komandas. Faktiski varat tieši doties uz Google un ievadīt vienu no tālāk norādītajām komandām, kā parādīts a Ētiskās uzlaušanas apmācība tiešsaistē:

• inurl: index.php? id=
• inurl: gallery.php? id=
• inurl: article.php? id=
• inurl: pageid=
Pēc tam Google atgriezto vietņu sarakstā jums būs jāpārbauda katra vietne, vai tajā nav ievainojamību.
www. TargetSite.com + inurl: index.php? id=
Patiesībā pirmā vietne, kas atgriežas, kad palaižat inurl: article.php? id= Google pārlūkprogrammā ir arī diskusiju tēma hakeru vietnē HackeForums.net. Diskusija sākas:
“ http://www.targetsite.org/article.php? id=129. SQL Vietnē ir norādīta tikai viena kolonna, tāpēc man rodas problēmas, mēģinot...” Forums ļauj sadarboties hakeriem. Ak!
Es atradu atlasītās vietnes e-pasta ziņojumu un sazinājos ar viņiem par ievainojamību. Cerams, ka viņi pārsūtīs e-pastu kādam, kas varēs veikt atbilstošus pasākumus.
Labās ziņas ir tādas, ka šos uzbrukumus ir ļoti vienkārši novērst vai izvairīties. Atvērtās tīmekļa lietojumprogrammas drošības projektam ir SQL injekcijas novēršanas apkrāptu lapa, kurā tika izklāstīti primārie un papildu aizsardzības līdzekļi.
Galvenie aizsardzības līdzekļi, kas tiek izmantoti cīņā, ietver:
• Sagatavoti paziņojumi (parametrizēti vaicājumi) — parametrizētie vaicājumi liek izstrādātājiem definēt visu SQL kodu, pēc tam nodot katrs vaicājuma parametrs, kas ļauj datu bāzei atšķirt kodu un datus neatkarīgi no ievades piegādāts.
• Saglabātās procedūras — saglabātā procedūra tiek definēta un saglabāta pašā datu bāzē, un pēc tam tiek izsaukta no lietojumprogrammas, nevis kaut kas, ko lietotājs drīkst ievadīt.
• Visas lietotāja sniegtās ievades atkāpšanās — katra DBVS atbalsta vienu vai vairākas rakstzīmju atkāpšanās shēmas, kas raksturīgas noteiktiem vaicājumu veidiem. Ja pēc tam izvairāties no visas lietotāja ievadītās ievades, izmantojot izmantotajai datubāzei atbilstošu atsoļa shēmu, DBVS nesajauks šo ievadi ar izstrādātāja rakstīto SQL kodu, tādējādi izvairoties no iespējamās SQL injekcijas ievainojamības.
Papildu aizsardzības līdzekļi ietver
• Mazākā privilēģija – vai katram datu bāzes kontam piešķirto privilēģiju samazināšana, lai lietotājiem būtu pietiekami daudz atļauju veikt savu darbu, bet ne vairāk.
• Baltā saraksta ievades validācija — ievades validācija tiek izmantota, lai atklātu nesankcionētu ievadi, pirms lietojumprogramma to apstrādā, tādējādi novēršot uzbrukumu.

Vai esat pieredzējis SQL injekcijas uzlaušanu savā organizācijā? Kā jūsu organizācija cīnījās pret uzbrukumu? Paziņojiet man.