Starpvietņu pieprasījumu viltojums (CSRF) ir viens no senākajiem vietnes ievainojamības izmantošanas veidiem. Tā mērķauditorija ir servera puses tīmekļa komutatori, kuriem parasti nepieciešama autentifikācija, piemēram, pieteikšanās. CSRF uzbrukuma laikā uzbrucēja mērķis ir piespiest savu upuri viņu vārdā iesniegt neatļautu, ļaunprātīgu tīmekļa pieprasījumu.
Vāja vai slikta vietņu drošības prakse un neuzmanība uz lietotāja ceļa ir daži no veiksmīgā CSRF uzbrukuma biežākajiem cēloņiem.
Apskatīsim, kas ir CSRF uzbrukums, un iespējamos veidus, kā novērst sevi no tā kā izstrādātāja vai kā lietotāja.
Kā CSRF uzbrukumi jūs ietekmē?
CSRF ir uzbrukums, ko izmanto, lai ieviestu nesankcionētus pieprasījumus tīmekļa darbību laikā, kurām nepieciešama lietotāja pieteikšanās vai autentifikācija. CSRF uzbrukumi var izmantot sesiju ID, sīkfailu, kā arī citu uz serveri balstītu ievainojamību, lai nozagtu lietotāja akreditācijas datus.
Piemēram, iespējojot anti-CSRF procedūras, tiek novērsta starpdomēnu ļaunprātīga mijiedarbība.
Kad šī barjera pārtrūkst, uzbrucējs, izmantojot lietotāja pārlūkprogrammas izveidotās sīkdatnes, var ātri izmantot lietotāja sesijas ID priekšrocības un ievainojamā vietnē ievietot skripta tagu.
Manipulējot ar ID, uzbrucējs var arī novirzīt apmeklētājus uz citu vietni vai izmantot sociālās inženierijas metodes piemēram, e-pastu, lai nosūtītu saites, mudinot upuri lejupielādēt ļaunprātīgu programmatūru.
Uzziniet, kā sociālā inženierija var jūs ietekmēt, kā arī parastos piemērus, kas palīdzēs jums identificēt šīs shēmas un pasargāt tās.
Kad upuris veic šādas darbības, tas nosūta HTTP pieprasījumu uz lietotāja pakalpojumu lapu un pilnvaro pieprasījuma darbību par labu uzbrucējam. Nenojaušam lietotājam tas var būt postoši.
Veiksmīgs CSRF uzbrukums var likt autorizētiem lietotājiem zaudēt piekļuves akreditācijas datus uzbrucējam, īpaši servera darbību laikā, piemēram, paroles vai lietotājvārda maiņas pieprasījumu laikā. Sliktākos gadījumos uzbrucējs pārņem visu sesiju un rīkojas lietotāju vārdā.
CSRF ir izmantots, lai nolaupītu tīmekļa fonda darījumus, kā arī mainītu lietotājvārdus un paroles, kā rezultātā lietotāji zaudē piekļuvi ietekmētajam pakalpojumam.
Kā uzbrucēji nolaupa jūsu sesijas ar CSRF: piemēri
Galvenie CSRF uzbrukumu mērķi ir tīmekļa darbības, kas saistītas ar lietotāja autentifikāciju. Lai gūtu panākumus, cietušajam nepieciešama neapzināta rīcība.
CSRF uzbrukuma laikā galvenie uzbrucēja mērķi ir GET, DELETE un PUT darbības, kā arī neaizsargātie POST pieprasījumi.
Apskatīsim šo terminu nozīmi:
- GŪT: Pieprasījums apkopot rezultātu no datu bāzes; piemēram, Google meklēšana.
- POST: Parasti pieprasījumu iesniegšanai, izmantojot tīmekļa veidlapas. POST pieprasījums ir izplatīts lietotāja reģistrācijas vai pieteikšanās laikā, citādi saukts par autentifikāciju.
- Dzēst: Lai noņemtu resursu no datu bāzes. Jūs to darāt ikreiz, kad izdzēšat kontu no konkrēta tīmekļa pakalpojuma.
- PUT: PUT pieprasījums modificē vai atjaunina esošu resursu. Piemērs ir mainot savu Facebook vārdu.
Praksē uzbrucēji izmanto sesijas nolaupīšanu, lai dublētu CSRF uzbrukumu. Izmantojot šo kombināciju, uzbrucējs var izmantot nolaupīšanu, lai mainītu upura IP adresi.
Pēc tam, mainot IP adresi, upuris tiek reģistrēts jaunā vietnē, kur uzbrucējs ir ievietojis mānīgu saiti, kas iesniedz kopētu veidlapu vai modificētu servera pieprasījumu, kuru viņi izveidojuši, izmantojot CSRF.
Nenojaušošs lietotājs tad domā, ka novirzīšana nāk no pakalpojumu sniedzēja un noklikšķina uz saites uzbrucēja vietnē. Kad viņi to ir izdarījuši, hakeri bez viņu ziņas iesniedz veidlapu par lapas ielādi.
GET pieprasījuma CSRF uzbrukuma piemērs
Iedomājieties, kā mēģināt veikt tiešsaistes maksājumu, izmantojot nenodrošinātu e-komercijas platformu. Platformas īpašnieki izmanto GET pieprasījumu, lai apstrādātu jūsu darījumu. Šis GET vaicājums varētu izskatīties šādi:
https://websiteurl/pay? summa = 10 ASV dolāri & uzņēmums = [uzņēmuma ABC konts]
Lidmašīnas nolaupītājs var viegli nozagt jūsu darījumu, mainot GET pieprasījuma parametrus. Lai to izdarītu, viņiem atliek tikai nomainīt savu vārdu pret savu vārdu un, vēl ļaunāk, mainīt summu, kuru plānojat maksāt. Pēc tam viņi pielāgo sākotnējo vaicājumu apmēram šādi:
https://websiteurl/pay? summa = $ 20000 & company = [uzbrucēja konts]
Kad esat noklikšķinājis uz saites uz modificēto GET pieprasījumu, jūs netīši pārskaitīsit uz uzbrucēja kontu.
Darījumu veikšana, izmantojot GET pieprasījumus, ir slikta prakse, un tā padara darbības neaizsargātas pret uzbrukumiem.
POST pieprasījuma CSRF uzbrukuma piemērs
Tomēr daudzi izstrādātāji uzskata, ka POST pieprasījuma izmantošana ir drošāka, lai veiktu tīmekļa darījumus. Lai gan tā ir taisnība, diemžēl POST pieprasījums ir uzņēmīgs arī pret CSRF uzbrukumiem.
Lai veiksmīgi nolaupītu POST pieprasījumu, uzbrucējam ir nepieciešams pašreizējais sesijas ID, dažas atkārtotas neredzamas formas un dažreiz neliela sociālā inženierija.
Piemēram, POST pieprasījuma veidlapa varētu izskatīties šādi:
Tomēr uzbrucējs var apmainīt jūsu akreditācijas datus, izveidojot jaunu lapu un pārveidojot iepriekšējo veidlapu šādi:
Manipulētajā formā uzbrucējs lauka summa vērtību nosaka kā "30000", nomaina saņēmēja konta numuru, iesniedz veidlapu, ielādējot lapu, kā arī paslēpj veidlapas laukus no lietotājs.
Tiklīdz viņi nolaupīs šo pašreizējo sesiju, jūsu darījumu lapa sāk novirzīšanu uz uzbrucēja lapu, kas liek noklikšķināt uz saites, kuru viņi zina, ka jūs, visticamāk, apmeklēsit.
Noklikšķinot uz šī, tiek ielādēta atkārtotās veidlapas iesniegšana, kas pārskaita jūsu līdzekļus uzbrucēja kontā. Tas nozīmē, ka jums nav nepieciešams noklikšķināt uz pogām, piemēram, "nosūtīt", lai notiktu transakcija, jo JavaScript to automātiski dara, ielādējot nākamo vietni.
Alternatīvi, uzbrucējs var arī sagatavot HTML iegultu e-pastu, kas aicina noklikšķināt uz saites, lai veiktu to pašu lapas ielādes veidlapas iesniegšanu.
Vēl viena darbība, kas ir neaizsargāta pret CSRF uzbrukumu, ir lietotājvārds vai paroles maiņa, PUT pieprasījuma piemērs. Uzbrucējs atkārto jūsu pieprasījuma veidlapu un aizstāj jūsu e-pasta adresi ar viņu.
Tad viņi nozog jūsu sesiju un vai nu novirza jūs uz lapu, vai arī nosūta jums e-pastu, kas aicina noklikšķināt uz pievilcīgas saites.
Pēc tam tiek iesniegta manipulēta veidlapa, kas nosūta paroles atiestatīšanas saiti uz hakera e-pasta adresi, nevis uz jūsu. Tādā veidā hakeris maina jūsu paroli un piesakās no konta.
Kā novērst CSRF uzbrukumus kā izstrādātājam
Viena no labākajām metodēm, kā novērst CSRF, ir stāvokļa maiņas serverī palaišana, nevis atkarībā no sesijas sīkfailiem, izmantojot bieži mainīgus marķierus.
Saistīts: Bezmaksas rokasgrāmatas, lai izprastu digitālo drošību un aizsargātu jūsu privātumu
Daudzi mūsdienu aizmugures ietvari piedāvā drošību pret CSRF. Tātad, ja vēlaties pats izvairīties no CSRF uzlabošanas tehniskajiem aspektiem, varat to viegli novērst, izmantojot servera puses ietvarus, kas aprīkoti ar iebūvētiem anti-CSRF marķieriem.
Lietojot anti-CSRF marķieri, uz servera balstītie pieprasījumi ģenerē nejaušas virknes, nevis statiskāk ievainojamas sesijas sīkfailus. Tādā veidā jūs pasargājat savu sesiju no nolaupītāja uzminēšanas.
Divu faktoru autentifikācijas (2FA) sistēmas ieviešana darījumu veikšanai jūsu tīmekļa lietotnē samazina arī CSRF iespējas.
CSRF ir iespējams uzsākt, izmantojot vairāku vietņu skriptu (XSS), kas ietver skriptu ievadīšanu lietotāju laukos, piemēram, komentāru veidlapās. Lai to novērstu, ieteicams izmantot HTML automātisko aizbēgšanu visos lietotāja veidlapas laukos visā jūsu vietnē. Šī darbība neļauj formas laukiem interpretēt HTML elementus.
Kā novērst CSRF uzbrukumus kā lietotājam
Kā tīmekļa pakalpojuma, kas saistīts ar autentifikāciju, lietotājs jums ir jāpiedalās, lai neļautu uzbrucējiem zagt arī jūsu akreditācijas datus un sesijas, izmantojot CSRF.
Pārliecinieties, ka izmantojat uzticamus tīmekļa pakalpojumus darbību laikā, kas saistītas ar naudas pārskaitījumu.
Papildus tam izmantojiet drošas tīmekļa pārlūkprogrammas kas aizsargā lietotājus no sesiju iedarbības, kā arī drošas meklētājprogrammas, kas aizsargā pret meklēšanas datu noplūdi.
Saistīts: Labākās privātās meklētājprogrammas, kas respektē jūsu datus
Kā lietotājs jūs varat būt atkarīgs arī no tādiem trešo pušu autentifikatoriem kā Google autentifikators vai tā alternatīvas lai pārbaudītu savu identitāti tīmeklī.
Lai gan jūs varētu justies bezpalīdzīgs, lai apturētu uzbrucēju nolaupīt jūsu sesiju, jūs tomēr varat palīdzēt to novērsiet, nodrošinot, ka jūsu pārlūkprogrammā netiek glabāta tāda informācija kā paroles un citi pieteikumvārdi informācija.
Veiciet savu tīmekļa drošību
Izstrādātājiem izstrādes un izvietošanas laikā regulāri jāpārbauda, vai tīmekļa lietotnēs nav drošības pārkāpumu.
Tomēr parasti tiek ieviestas citas ievainojamības, mēģinot novērst citas. Tāpēc esiet piesardzīgs, lai mēģinātu bloķēt CSRF, lai pārkāptu citus drošības parametrus.
Izveidojiet spēcīgu paroli, kuru vēlāk atceraties. Izmantojiet šīs lietotnes, lai šodien uzlabotu drošību, izmantojot jaunas, spēcīgas paroles.
- Drošība
- Tiešsaistes drošība
Idowu aizrauj kaut ko gudru tehnoloģiju un produktivitāti. Brīvajā laikā viņš spēlējas ar kodēšanu un pāriet uz šaha galdiņu, kad viņam ir garlaicīgi, taču viņš mīl arī kādu laiku atrauties no rutīnas. Aizraušanās ar cilvēku parādīšanu mūsdienu tehnoloģijās motivē viņu rakstīt vairāk.
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!
Vēl viens solis !!!
Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.