Սկիզբ » Ինֆորմացիոն Անվտանգություն » SQL injection կամ եթե ավելի հայերեն Ներդրված SQL

SQL injection կամ եթե ավելի հայերեն Ներդրված SQL

| Նոյեմբեր 24, 2012 | 1 Մեկնաբանություն |

Ներդրված SQL  ը ամենատարածված եղանակներիցա ջարդուխուրդ անել սայթերն ու ծրագրերը, որոնք հիմնված են ինչ որ տվյալների բազայի վրա:Երբ որ սերվերի ադմինիստրաորը լավնա, փակելա բոլոր պորտերը, բացի 80-ից, ապա բացի վեբ-ից ուրիշ ճանապարհ չի մնում մտնել սերվեր:

Ներդրված SQL-ի գաղափարը

Իրականում իրենից ներկայացնում է շատ հասարակ մի բան, ու SQL-ի տարական գիտելիքներով կարելի է կիրառել (կիրառենք, որ հետո մեր հանդեպ չկիրառեն :)  ):

Երբ որ օգտագործողը լրացնումա ինչ որ ֆորմա ( ասենք լոգին պարոլ ) ու սղմում հաստատել, ապա ինչա տեղի ունենում… տեղի է ունենում հետևյալը ՝ օգտագործողի կողմից լրացված ինֆորմացիան որպես պարամետր փոխանցվումա սերվերի PHP կոդին ( հիմնականում  GET կամ POST տարբերակներից մեկով) , որն էլ իր հերթին գեներացնումա SQL հարցում բազաին դիմելու համար: ու էտ ամեն ինչը շատ լավ արտացոլվումա բրաուզերի հրամանների տողում :

Հիմա պատկերացնենք ինչ կլինի, եթե User դաշտում գրենք  ` OR1=1;/* իսկ  Password դաշտում  */–

Քանի որ ամեն դեպքում  1=1, ապա հարցման արդյունքը կլինի users աղյուսակը, իր էղած չեղածով:Իսկ թէ ինչ կարելիա արած էտ եղած չեղածի հետ արդեն ուրիշ հարցա:

մի այլ օրինակ: Բոլոր սայթերում էլ հիմնականում կան փնտրման դաշտ, որը նույնպես SQL սրսկելու ամենափափուկ մասերիցա…

օրինակ եթե  http://www.trend.az/   -ի search դաշտում փնտրենք hello բառը, ապա բրաուզերի տողում կունենանք http://www.trend.az/search.php?words=hello, իսկ այ հելլոն իրանց շատա, կարելիա էքսպերիմենտներ անել Insert, Update, Delete, ու DROP հրամաններով  :)

Ինչպես պաշտպանվել

Պաշտպանվելու համար անհրաժեշտա լուրջ ֆիլտրացիաի ենթարկել HTML – ի  բոլոր ֆորմաներից եկող տվյալները, որոնց հիման վրա ձևավորվում են բազային դիմվող հարցումները:

  1. Մինչև SQL հարցում ձևավորելը ստուգեք ստացված պարամետրերը, հնարավորա ստուգել բազմաթիվ եղանակներով
  2. Ավելացնենք  կրկնակի կավիչկաներ SQL ում, կամ օգտագործել հատուկ սիմվոլերը էկրանավորելու համար նախատեսված հակառակ սլեշ \ :
  3. Իսկ եթե ստացված պարամետրը թվային տիպ է ու հնարավոր չէ ինչ որ սիմվոլներ ավելացնել, ապա ամենաքիչը 3  կրիտերիաով ստուգում պետքա անել նոր ձևավորել հարցումը:
SQL injection կամ եթե ավելի հայերեն Ներդրված SQL, 7.6 out of 10 based on 10 ratings

Նշագրեր: , ,

Բաժին: Ինֆորմացիոն Անվտանգություն, Վեբ, Տվյալների բազաներ

Կիսվել , տարածել , պահպանել

VN:F [1.9.20_1166]
Rating: 7.6/10 (10 votes cast)

Մեկնաբանություններ (1)

Թրեքբեք հղում | Մեկնաբանությունների RSS ժապավեն

  1. Կարծում եմ թվային տիպի դեպքում 1 կրիտերիայով ստուգումը բավարար է, այսինքն եթե վստահ ենք (preg_match(‘/^[0-9]+$/’,$var)), որ ստացված պարամետրը թվային տիպ է ապա այևս ոչ մի ստուգման կարիք չկա տվյալ փոփոխականի հետ կապված:

Մեկնաբանեք

Կհաստատվեն միայն մեսրոպատառ հայերենով գրած մեկնաբանությունները

172