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 хэллэгт хортой код байрлуулдаг. Вэбсайт нь хэрэглэгчийн оруулсан мэдээллийг цуглуулах маягтуудыг агуулдаг. Хэрэглэгчээс хэрэглэгчийн нэр, хэрэглэгчийн нэр гэх мэт оролтыг асуухад тэрээр нэр болон түүний оронд SQL мэдэгдлийг өгч болно. Тиймээс энэ нь вэб сайтын мэдээллийн сан дээр ажиллах боломжтой.
Зураг 02: SQL Injection
Цаашилбал, SQL тарилгын цөөн хэдэн жишээ дараах байдалтай байна;
Хэрэглэгчийн ID-ээр дамжуулан хайлт хийх нөхцөл байдал үүсч болно. Хэрэв оролтыг баталгаажуулах арга байхгүй бол хэрэглэгч буруу оролт оруулж болно. Хэрэв тэр хэрэглэгчийн ID-г 100 ЭСВЭЛ 1=1 гэж оруулбал SQL хэллэгийг дараах байдлаар үүсгэнэ.
userid=100 эсвэл 1=1; байгаа хэрэглэгчдээс -г сонгоно уу
Энэ SQL мэдэгдэл нь өгөгдлийн сангийн бүх хэрэглэгчдийг буцаах боломжтой, учир нь 1=1 үргэлж үнэн байдаг. Хэрэв энэ нь хакер байсан бөгөөд мэдээллийн санд нууц үг гэх мэт нууц мэдээлэл байгаа бол тэр хэрэглэгчийн нэр, нууц үг рүү нэвтрэх боломжтой. Энэ бол SQL Injection-ийн жишээ юм.
XSS болон SQL Injection хоёрын ялгаа юу вэ?
XSS нь вэб програмын компьютерийн аюулгүй байдлын нэг төрлийн сул тал бөгөөд халдагчид бусад хэрэглэгчдийн үзэж буй вэб хуудсанд клиент талын скрипт оруулах боломжийг олгодог. SQL injection нь код оруулах техник бөгөөд өгөгдөлд тулгуурласан програмууд руу халдаж, SQL мэдэгдлийг гүйцэтгэхээр оруулсан оруулгад оруулдаг.
XSS вэб сайт руу хортой код оруулснаар тухайн вэб сайтын хэрэглэгчдэд хөтчөөр дамжуулан код ажилладаг. Нөгөө талаас, SQL injection нь нөөцөд хандах эсвэл өгөгдөлд өөрчлөлт оруулахын тулд вэб маягтын оролтын хайрцагт SQL кодыг нэмдэг. Энэ бол XSS болон SQL Injection хоёрын гол ялгаа юм. XSS-ийн хамгийн түгээмэл хэл нь JavaScript бол SQL injection нь SQL-г ашигладаг.
Хураангуй – XSS ба SQL Injection
XSS болон SQL Injection хоёрын ялгаа нь XSS нь вэб сайт руу хортой код оруулдаг бөгөөд ингэснээр тухайн вэб сайтын хэрэглэгчдэд хөтчөөр кодыг ажиллуулдаг бол SQL тарилга нь вэб маягтын оролтын талбарт SQL код нэмдэг. нөөцөд хандах эсвэл өгөгдөлд өөрчлөлт оруулах боломжтой.