Ang pangunahing pagkakaiba sa pagitan ng XSS at SQL Injection ay ang XSS (o Cross Site Scripting) ay isang uri ng kahinaan sa seguridad ng computer na naglalagay ng malisyosong code sa website upang ang code ay tumakbo sa mga user ng website na iyon sa pamamagitan ng browser habang ang SQL injection ay isa pang mekanismo sa pag-hack ng website na nagdaragdag ng SQL code sa isang web form input box para magkaroon ng access sa mga mapagkukunan o para gumawa ng mga pagbabago sa data.
Ang bawat organisasyon ay nagpapanatili ng mga website, na tumutulong upang mapabuti ang negosyo at ang kakayahang kumita. Ang isang web application ay naglalaman ng client side at server side. Kasama sa panig ng kliyente ang mga interface ng gumagamit upang makipag-ugnayan sa application. Kasama sa panig ng server ang database. Kadalasan, may mga banta na nakakaapekto sa wastong paggana ng application. Dalawa sa mga ito ay XSS at SQL injection.
Ano ang XSS?
Ang XSS ay nangangahulugang Cross Site Scripting, at isa ito sa mga pinakakaraniwang pag-atake sa website. Maaari itong makaapekto sa partikular na website pati na rin sa mga user ng website na iyon. Ang pinakakaraniwang wika para magsulat ng malisyosong code para sa pag-atake ng XSS ay ang JavaScript. Maaaring magnakaw ang XSS ng cookies ng user, baguhin ang setting ng user, magpakita ng iba't ibang malware download at marami pa.
Figure 01: XSS
May dalawang uri ng XSS. Ang mga ito ay ang persistent at non-persistent XSS. Sa patuloy na XSS, ang malisyosong code ay nagse-save sa server sa database. Pagkatapos ay tatakbo ito sa normal na pahina. Sa hindi paulit-ulit na XSS, ang iniksyon na malisyosong code ay ipapadala sa Server sa pamamagitan ng isang kahilingan sa HTTP. Karaniwan, ang mga pag-atakeng ito ay maaaring mangyari sa mga field ng paghahanap.
Ano ang SQL Injection?
Ang SQL Injection ay isa pang mekanismo sa pag-hack ng website. Naglalagay ito ng malisyosong code sa mga pahayag ng SQL sa pamamagitan ng input ng web page. Ang isang website ay naglalaman ng mga form upang mangolekta ng mga input ng user. Kapag humihingi sa user ng input tulad ng username, userid maaaring magbigay siya ng SQL statement sa halip na pangalan at ito. Kaya, maaari itong tumakbo sa database ng website.
Figure 02: SQL Injection
Higit pa rito, ang ilang mga halimbawa ng SQL Injections ay ang mga sumusunod;
Maaaring magkaroon ng sitwasyon upang maghanap sa isang user sa pamamagitan ng userid. Kung walang paraan ng pagpapatunay ng input, maaaring magpasok ng maling input ang user. Kung ilalagay niya ang userid bilang 100 O 1=1, bubuo ito ng SQL statement gaya ng sumusunod.
piliinmula sa mga user kung saan ang userid=100 o 1=1;
Maaaring ibalik ng SQL statement na ito ang lahat ng user sa database dahil palaging totoo ang 1=1. Kung ito ay isang hacker at kung ang database ay naglalaman ng kumpidensyal na data tulad ng mga password, maaari siyang makakuha ng access sa mga username at password. Iyon ay isang halimbawa para sa SQL Injection.
Ano ang Pagkakaiba sa pagitan ng XSS at SQL Injection?
Ang XSS ay isang uri ng kahinaan sa seguridad ng computer sa mga web application na nagbibigay-daan sa mga umaatake na mag-inject ng mga script sa panig ng kliyente sa mga web page na tinitingnan ng ibang mga user. Ang SQL injection ay isang code injection technique, na umaatake sa mga application na hinimok ng data na naglalagay ng mga SQL statement sa isang entry na isinampa para sa pagpapatupad.
Ang XSS ay nag-inject ng malisyosong code sa website, upang ang code na iyon ay tumatakbo sa mga user ng website na iyon ng browser. Sa kabilang banda, ang SQL injection ay nagdaragdag ng SQL code sa isang web form na input box upang makakuha ng access sa mga mapagkukunan o gumawa ng mga pagbabago sa data. Ito ang pangunahing pagkakaiba sa pagitan ng XSS at SQL Injection. Ang pinakakaraniwang wika para sa XSS ay JavaScript habang ang SQL injection ay gumagamit ng SQL.
Buod – XSS vs SQL Injection
Ang pagkakaiba sa pagitan ng XSS at SQL Injection ay ang XSS ay nag-iiniksyon ng malisyosong code sa website, upang ang code ay maipatupad sa mga user ng website na iyon sa pamamagitan ng browser habang ang SQL injection ay nagdaragdag ng SQL code sa isang web form na input box upang magkaroon ng access sa mga mapagkukunan o gumawa ng mga pagbabago sa data.