SQL iesmidzināšana

Autors: Peter Berry
Radīšanas Datums: 13 Augusts 2021
Atjaunināšanas Datums: 22 Jūnijs 2024
Anonim
SQL Injection For Beginners - Learn From A Pro Hacker Now
Video: SQL Injection For Beginners - Learn From A Pro Hacker Now

Saturs

Definīcija - ko nozīmē SQL injekcija?

SQL injekcija ir datora uzbrukums, kurā ļaunprātīgais kods tiek iestrādāts slikti izstrādātā lietojumprogrammā un pēc tam tiek nodots aizmugures datu bāzei. Ļaunprātīgie dati pēc tam rada datubāzes vaicājumu rezultātus vai darbības, kuras nekad nedrīkstētu būt izpildītas.


Ievads Microsoft Azure un Microsoft Cloud | Šajā rokasgrāmatā jūs uzzināsit, kas ir mākonis skaitļošana un kā Microsoft Azure var palīdzēt jums migrēt un vadīt savu biznesu no mākoņa.

Techopedia izskaidro SQL iesmidzināšanu

Iepazīsimies ar SQL injekcijas uzbrukuma piemēru:

Lietojumprogrammā, kurā darbojas bankas operācijas, ir izvēlnes, kuras var izmantot, lai meklētu klientu informāciju, izmantojot tādus datu punktus kā klienta sociālās apdrošināšanas numurs. Fonā lietojumprogramma izsauc SQL vaicājumu, kas darbojas datu bāzē, ievadot ievadītās meklēšanas vērtības šādi:

SELECT klienta vārds, telefons, adrese, dzimšanas datums WHERE social_sec_no = 23425

Šajā parauga skriptā lietotājs lietojumprogrammas izvēlnes logā ievada vērtību 23425, pieprasot lietotājam ievadīt sociālās apdrošināšanas numuru. Pēc tam, izmantojot lietotāja sniegto vērtību, datu bāzē tiek palaists SQL vaicājums.

Lietotājs ar SQL zināšanām var saprast lietojumprogrammu un tā vietā, lai ievadītu vienu vērtību, kad tiek lūgts sociālās apdrošināšanas numurs, ievadiet virkni “23425 vai 1 = 1”, kas tiek nodota datu bāzei šādi:

SELECT klienta vārds, telefons, adrese, dzimšanas datums WHERE social_sec_no = 23425 vai 1 = 1

WHERE klauzula ir svarīga, jo tā ievieš ievainojamību. Datubāzē nosacījums 1 = 1 vienmēr ir taisnība, un tāpēc, ka vaicājums ir norādīts, lai atgrieztu klienta sociālās apdrošināšanas numura informāciju (23425) vai KUR 1 = 1, vaicājums atdos visas tabulas rindas, kas nebija sākotnējais nodoms.

Iepriekš minētais SQL injekcijas uzbrukuma piemērs ir vienkāršs, taču tas parāda, kā ievainojamības izmantošana, lai pievilinātu lietojumprogrammu, lai palaistu aizmugures datu bāzes vaicājumu vai komandu.

SQL injekcijas uzbrukumus var mazināt, nodrošinot pareizu lietojumprogrammu dizainu, īpaši moduļos, kuriem nepieciešama lietotāja ievade datu bāzes vaicājumu vai komandu palaišanai. Iepriekš minētajā piemērā lietojumprogrammu varēja mainīt tā, lai tā pieņemtu tikai vienu skaitlisku vērtību.