Što je skripta na više web lokacija (XSS) i zašto je to prijetnja sigurnosti

  • Owen Little
  • 0
  • 3877
  • 122
Oglas

Ranjivosti skripte na različitim web lokacijama danas su najveći sigurnosni problem web stranice. Studije su otkrile da su šokantno česte - 55% web stranica sadrži XSS ranjivosti u 2011. godini, navodi se u posljednjem izvješću White Hat Securitya objavljenom u lipnju 2012. Dok je većina ljudi čula za računalne viruse Kratka povijest 5 najgorih računalnih virusa Kratka povijest 5 najgorih računalnih virusa svih vremena Riječ "virus" i njegova povezanost s računalima pripisao je američki informatičar Frederick Cohen koji ga je koristio za opisivanje "programa koji može" zaraziti "druge programe modificirajući ih kako bi se uključili eventualno… i drugi takvi problemi, XSS ranjivosti ostaju nepoznate prosječnoj osobi.

Ranjivost skripte na različitim web lokacijama omogućuje napadaču da izvrši proizvoljni JavaScript kôd (s druge web lokacije) na web stranici. Kôd se izvršava na web stranici u korisnikovom pregledniku.

Primjer - crva na Twitteru

Pogledajmo napad XSS-a koji se u prošlosti dogodio na Twitteru. Godine 2009, crv StalkDaily Kakva je razlika između crva, trojanca i virusa? [MakeUseOf objašnjava] Koja je razlika između crva, trojanca i virusa? [MakeUseOf Explains] Neki ljudi zloćudnog softvera nazivaju "računalnim virusom", ali to nije točno. Virusi, crvi i trojanci različite su vrste zlonamjernog softvera različitog ponašanja. Konkretno, oni su se proširili na vrlo… širenje diljem Twittera. Kada je korisnik Twittera posjetio stranicu profila zaraženih korisnika, i njegova se stranica profila zarazila, šireći crv. Crv je također slao tweetove sa svakog zaraženih računa.

Pa, kako je točno radio crv StalkDaily? Je li netko hakirao Twitter-ove web servere? Ne baš - iako je to bio nekakav hack.

Svaki korisnik Twittera može postaviti kratku biografiju na svoju stranicu profila. Korisnici unose tekst u okvir profila i kad jednom spreme profil, tekst se pojavljuje na njihovoj stranici profila. Netko je shvatio da Twitter nije ispravno sanirao unos teksta iz biološkog okvira (o tome ćemo doći kasnije), samo je stavio tekst koji su korisnici unijeli izravno u izvorni kod web stranice. To je korisniku omogućilo unos HTML oznake koja učitava JavaScript datoteku s web poslužitelja treće strane.

Kada je drugi korisnik Twittera posjetio zaraženu stranicu profila, njihov preglednik učitao je skriptu. Skripta je imala puni pristup svemu službenom Twitter kodu koji se koristi na stranici - pa je skripta mogla zatražiti korisnikov Twitter kolačić (koji pohranjuje stanje prijave korisnika) i korisničko ime iz preglednika. Skripta je zatim te podatke poslala natrag na web poslužitelj treće strane. Ovim detaljima web poslužitelj treće strane mogao bi se autentificirati kao Twitter korisnik, izmijeniti korisnikov životopis za širenje crva i poslati tweetove s korisničkog računa.

Kako programeri mogu spriječiti napade XSS

Jedno jednostavno pravilo omogućuje web programerima Kako reći je li netko dobar web programer za vaš projekt Kako reći je li netko dobar web programer za vaš projekt Odabir nekoga da napravi web stranicu za vas nije lak zadatak. Čak i ako ne gradite sljedeći Gmail, trebali biste raditi stvari ispravno prvi put. Ali odabir dobra ... kako biste spriječili napade skriptiranja na više stranica: Ne vjerujte nikakvim ulaganjima korisnika. Na primjer, u slučaju Twittera, nisu trebali vjerovati korisnicima teksta koji su ušli u svoje bio kutije. Twitter je trebao uzeti tekst i “dezinficirati” ili “pobjegao” to - na primjer, treba se pretvoriti uo