XSS-ի և SQL Injection-ի հիմնական տարբերությունն այն է, որ XSS-ը (կամ Cross Site Scripting) համակարգչային անվտանգության խոցելիության տեսակ է, որը ներարկում է վնասակար կոդ վեբ կայք, որպեսզի ծածկագիրը գործարկվի այդ կայքի օգտատերերի կողմից՝ զննարկիչը, մինչդեռ SQL ներարկումը վեբ կայքի կոտրման ևս մեկ մեխանիզմ է, որն ավելացնում է SQL կոդը վեբ ձևի մուտքագրման վանդակում՝ ռեսուրսներ մուտք ստանալու կամ տվյալների մեջ փոփոխություններ կատարելու համար:
Յուրաքանչյուր կազմակերպություն վարում է կայքեր, որոնք օգնում են բարելավել բիզնեսը և շահութաբերությունը: Վեբ հավելվածը պարունակում է հաճախորդի և սերվերի կողմը: Հաճախորդի կողմը ներառում է օգտատիրոջ միջերեսներ՝ հավելվածի հետ փոխազդելու համար:Սերվերի կողմը ներառում է տվյալների բազան: Սովորաբար, կան սպառնալիքներ, որոնք ազդում են հավելվածի պատշաճ գործունեության վրա: Դրանցից երկուսն են XSS և SQL ներարկում:
Ի՞նչ է XSS?
XSS-ը նշանակում է Cross Site Scripting, և դա կայքի ամենատարածված հարձակումներից մեկն է: Դա կարող է ազդել տվյալ կայքի, ինչպես նաև այդ կայքի օգտատերերի վրա: XSS հարձակման համար վնասակար կոդ գրելու ամենատարածված լեզուն JavaScript-ն է: XSS-ը կարող է գողանալ օգտվողի թխուկները, փոխել օգտատիրոջ կարգավորումները, ցուցադրել տարբեր չարամիտ ծրագրերի ներբեռնումներ և շատ ավելին:
Նկար 01. XSS
Կա XSS-ի երկու տեսակ: Դրանք համառ և ոչ համառ XSS-ն են: Մշտական XSS-ում վնասակար կոդը պահվում է տվյալների բազայի սերվերում: Այնուհետև այն կաշխատի սովորական էջում: Ոչ մշտական XSS-ում ներարկված վնասակար կոդը կուղարկվի սերվեր՝ HTTP հարցման միջոցով:Սովորաբար, այս հարձակումները կարող են տեղի ունենալ որոնման դաշտերում:
Ի՞նչ է SQL Injection-ը:
SQL Injection-ը վեբ կայքերի կոտրման ևս մեկ մեխանիզմ է: Այն տեղադրում է վնասակար կոդ SQL հայտարարություններում վեբ էջի մուտքագրման միջոցով: Կայքը պարունակում է ձևեր՝ օգտատերերի մուտքերը հավաքելու համար: Օգտատիրոջից մուտքագրումներ խնդրելիս, ինչպիսիք են օգտանունը, userid-ը, նա կարող է անվան և դրա փոխարեն SQL հայտարարություն տրամադրել: Այսպիսով, այն կարող է աշխատել կայքի տվյալների բազայում:
Նկար 02. SQL ներարկում
Ավելին, SQL ներարկումների մի քանի օրինակներ են հետևյալը.
Կարող է լինել օգտատիրոջը userid-ի միջոցով որոնելու իրավիճակ: Եթե մուտքագրման վավերացման մեթոդ չկա, օգտվողը կարող է սխալ մուտքագրել: Եթե նա մուտքագրի userid-ը որպես 100 ԿԱՄ 1=1, այն կստեղծի SQL հայտարարություն հետևյալ կերպ։
ընտրեքօգտվողներից, որտեղ userid=100 կամ 1=1;
Այս SQL հայտարարությունը կարող է վերադարձնել տվյալների բազայի բոլոր օգտվողներին, քանի որ 1=1 միշտ ճիշտ է: Եթե սա հաքեր էր, և եթե տվյալների բազան պարունակում էր գաղտնի տվյալներ, ինչպիսիք են գաղտնաբառերը, ապա նա կարող է մուտք գործել օգտվողի անուններ և գաղտնաբառեր: Դա օրինակ է SQL Injection-ի համար:
Ո՞րն է տարբերությունը XSS-ի և SQL Injection-ի միջև:
XSS-ը համակարգչային անվտանգության խոցելիության տեսակ է վեբ հավելվածներում, որը հարձակվողներին հնարավորություն է տալիս հաճախորդի կողմից սկրիպտներ ներարկել այլ օգտվողների կողմից դիտված վեբ էջերում: SQL ներարկումը կոդի ներարկման տեխնիկա է, որը հարձակվում է տվյալների վրա հիմնված հավելվածների վրա, որոնք տեղադրում են SQL հայտարարությունները կատարման համար ներկայացված մուտքի մեջ:
XSS-ը վնասակար կոդ է ներարկում կայք, այնպես որ այդ կոդը գործարկվում է տվյալ կայքի օգտատերերի մեջ բրաուզերի միջոցով: Մյուս կողմից, SQL ներարկումն ավելացնում է SQL կոդը վեբ ձևի մուտքագրման վանդակում՝ ռեսուրսներ մուտք ստանալու կամ տվյալների մեջ փոփոխություններ կատարելու համար:Սա է հիմնական տարբերությունը XSS-ի և SQL Injection-ի միջև: XSS-ի համար ամենատարածված լեզուն JavaScript-ն է, մինչդեռ SQL ներարկումն օգտագործում է SQL:
Ամփոփում – XSS vs SQL Injection
XSS-ի և SQL Injection-ի միջև տարբերությունն այն է, որ XSS-ը վնասակար կոդ է ներարկում կայք, այնպես որ կոդը գործարկվում է այդ կայքի օգտատերերի մեջ բրաուզերի կողմից, մինչդեռ SQL ներարկումն ավելացնում է SQL կոդը վեբ ձևի մուտքագրման վանդակում: մուտք գործել ռեսուրսներ կամ փոփոխություններ կատարել տվյալների մեջ։