Tijaabinta Hawlgallada Xoogsatada ee Cudurka SQL

Weerarrada cirbadaha ee SQL waxay khatar weyn ku yihiin codsiyada shabakada ee ku tiirsan xogta xogta si ay u abuuraan waxqabad firfircoon. Nooca weerarka noocan oo kale ah, khaniisiyeyaashu waxay wax ka qabtaan codsi shabakad isku day ah inay isku dardaraan amarradooda u gaarka ah ee loo soo gudbiyo kuwa ku qoran xogta. Tusaale ahaan, fiiri maqaalka Xakamaynta ee Xakamaynta Soogalootiga SQL. Maqaalkani, waxaan eegnaa dhowr siyaabood oo aad ku tijaabin kartid codsiyadaada shabakada si aad u ogaatid in ay yihiin kuwa ugu nugul weerarrada weerarka ee SQL.

Nidaamka Isku-duubista Nidaamka Cusboonaysiinta ee SQL

Suurtagalnimada hal mar ayaa adeegsanaya shabakad cilad-maskaxeed ee shabakadda internetka, sida WebInspect HP, AppScan ama IBM Cailic's Hailstorm. Qalabkani waxay bixiyaan siyaabo sahlan, habab gadaal u falanqeynaya codsiyadaada shabakadaha ee u nugul yahey waxyeellada SQL. Si kastaba ha ahaatee, aad ayay qaali u yihiin, iyagoo ku soconaya ilaa $ 25,000 kursi kasta.

Nidaamka Tijaabada ah ee Baaritaanka SQL

Maxay tahay habdhaqanka codsiyada liita? Waxaad tijaabin kartaa qaar ka mid ah tijaabooyinka aasaasiga ah si loo qiimeeyo codsiyadaada shabakadda ee u nugul yahanka SQL Injecting iyada oo aan wax ka badan barta shabakadda. Marka hore, erey taxadar leh: imtixaannada aan qeexayo oo kaliya fiiri cilladaha SQL Injection ee asaasiga ah. Ma ogaan doonaan farsamooyinka casriga ah iyo waxoogaa ay adag tahay in la isticmaalo. Haddii aad awoodi kartid, la soco scanner automated. Si kastaba ha noqotee, haddii aadan awoodin qiimaha qiimaha, baaritaanka gacanta waa tallaabo hore u weyn.

Habka ugu fudud ee lagu qiimeyn karo in codsigu yahay mid nugul waa in lagu tijaabiyo weerarada cirbadaha aan waxba galabsaneyn ee dhab ahaantii dhaawici doona xogtaada haddii ay ku guuleysteen laakiin waxay ku siin doonaan caddayn inaad u baahan tahay inaad saxdo dhibaatada. Tusaale ahaan, waxaad u maleyneysaa in aad haysatid codsi shabakadeed oo sahlan oo kor u qaadaya shakhsiyaadka ku jira diiwaanka oo ku siinaya macluumaadka xiriirka natiijada. Boggaasi wuxuu isticmaali karaa nooca URL ee soo socda:

http://myfakewebsite.com/directory.asp?lastname=chapple&firstname=mike

Waxaan u qaadan karnaa in boggani uu samaynayo raadin database ah, isagoo isticmaalaya su'aal la mid ah kuwa soo socda:

Raadinta taleefanka LAMAANKA TALEEFOON TALAALOOYIN! Lastname = 'chapple' iyo firstname = 'mike'

Aynu ku tijaabino arrintan. Iyada oo aynu maleeynay sare, waxaan samayn karnaa isbeddel sahlan oo ku yimaada URL in tijaabooyinka weerarrada duritaanka ee SQL:

http://myfakewebsite.com/directory.asp?lastname=chapple&firstname=mike'+AND+(select+count(*)+from+fake)+%3e0+OR+'1'%3d'1

Haddii codsiga webka aan si fiican looga ilaalin cirbadaha SQL, waxay si fudud u xariiqaysaa magaca ugu horreeya ee been abuurka ah ee ku qoran bayaanka SQL-ka ee ka soo horjeeda xogta macluumaadka, taasoo keentay:

XIDHIIDHKA SIDEE LAGU HELI KARO TUSAALKU SABABI KARAA 'lasti =' chapple 'iyo firstname =' mike 'I (xulo tirada (*) laga bilaabo been abuur)> 0 OR' 1 '=' 1 '

Waxaad ogaan doontaa in imtixaanka kore ee waxoogaa ka duwan yahay kan ku jira URL asalka ah. Waxaan qaatay xorriyadda ah badalida variable-URL-ku-beddelka ah ee ASCII-ga u dhiganta si ay u sahlanaato in la raaco tusaalaha. Tusaale ahaan,% 3d waa URL-codeeynta 'character'. Waxaan sidoo kale ku daray qaar ka mid ah jebinta xariiqyada ujeedooyinka la midka ah.

Qiimaynta Natiijooyinka

Imtixaanku wuxuu yimaadaa markaad isku daydo inaad ku dhejisid boggaga internetka cinwaanka kor ku xusan. Haddii codsiga webka uu si fiican u dhaqmo, waxay ka dhigi doontaa qiimaha hal-ka-soo-galka ka hor inta aan la gudbin xog-siinta xogta. Tani waxay si fudud u raadin doontaa raadin werwer ah oo leh qof magac leh oo ay ku jiraan farabadan oo ah SQL! Waxaad arki doontaa fariin khalad ah codsiga oo la mid ah kan hoos ku qoran:

Cilad: Looma helin qof magac leh Mike + AND + (xulo + tirada (*) + laga bilaabo + been abuur) +% 3e0 + AMA + 1% 3d1 Fadlan!

Dhinaca kale, haddii codsiga u nugul yahay cirbadeynta SQL, wuxuu si toos ah u gudbin doonaa warbixinta xogta, taasoo keentay in mid ka mid ah laba fursadood. First, haddii server-kaagu leeyahay fariimo qaldan oo faahfaahsan (oo aanad ahayn!), Waxaad arki doontaa wax sidan oo kale ah:

Microsoft OLE DB Bixiyaha loogu talagalay qalabka 'ODBC Drivers' qalad '80040e37' [Microsoft] [ODBC SQL Server Driver] [SQL Server] Magaca shayga aan habooneyn ee 'been abuur'. /directory.asp, line 13

Dhinaca kale, haddii server-kaaga webka uusan soo bandhigin farriimo faahfaahsan oo faahfaahsan, waxaad heli doontaa qalad kale oo badan, sida:

Xakamaynta Gudaha Gudaha Serwer waxay la kulantay qalad gudaha ah ama qalad ah oo aan awoodin inay buuxiso codsigaaga. Fadlan la xiriir maamulaha server si aad u sheegto wakhtiga qaladka dhacay iyo wax kasta oo laga yaabo inaad qabatay taasoo keentay qaladka. Macluumaad dheeraad ah oo ku saabsan qaladkan waxaa laga yaabaa in lagu heli karo qoraalka qaldan ee server.

Haddii aad hesho mid ka mid ah labada qalad ee kor ku xusan, codsigaagu wuxuu u nugul yahay weerarka duritaanka ee SQL! Qaar ka mid ah talaabooyinka aad qaadi kartid si aad u ilaaliso codsiyadaada ka dhanka ah weerarrada SQL Injection waxaa ka mid ah: