Веб програмирање

Рањивости услова трке у веб апликацијама

Рањивости услова трке у веб апликацијама
Када је потребна веб апликација конфигурисана за управљање функцијама у фиксном низу за истовремено извршавање две или више операција, долази до напада услова трке. Ова техника користи временско кашњење између увођења услуге и када се догоди безбедносна контрола. Овај напад се може извршити на било који од два начина, заснован на вишенитним апликацијама: упад настао непоузданим процесима и упад настао поузданим поступком који би могао имати иста и једнака права.

Различити процеси могу међусобно да комуницирају без адекватних мера. Ови напади су такође познати као напад времена провере, напад времена коришћења или напади ТОЦ / ТОУ. Чини се да су рањивости услова трке на првом месту због основних програмских грешака које програмери обично креирају, а ове грешке су се показале скупима. Злонамерни ентитети су експлоатисали услове расе у пуно злонамерних сврха, тј.е., од добијања бесплатних ваучера за пљачку новца са рачуна на мрежи и инвестиционих фирми.

Претпоставимо да две паралелне нити извођења покушавају да повећају вредност глобалне променљиве за 5. На крају, глобална променљива би тада имала вредност 10. Међутим, ако се све нити раде истовремено, извршавање може бити погрешно без закључавања ресурса или синхронизације. Када прва нит врши неке манипулације са том глобалном променљивом, друга нит је чита и почиње да врши неке друге манипулације. У овом случају коначна вредност не би била онаква каква се очекивала.

То се дешава јер ефекат прекида једне нити зависи од исхода другог. Када се две нити изврше истовремено, доћи ће до нежељених последица.

Опсег напада на стање трке:

Замислите да се две ствари наведеног примера извршавају нешто мало критичније, попут размене новца између банковних рачуна. Да би новац исправно послао, програм ће морати да изврши ове задатке у овом низу; Проверите да ли има довољно стања на рачуну пошиљаоца, додајте новац на рачун примаоца, а затим одузмите са рачуна пошиљаоца. Али ако истовремено поднесете два захтева, можда ћете моћи да покренете стање у којем се мења редослед извршавања нити. У оваквој ситуацији на крају ћете добити износ другачији од очекиваног.

Рањивост услова расе пронашао је Егор Хомаков на веб локацији Старбуцкс. Открио је начин да бесплатно створи бескрајан износ кредита на поклон-боновима Старбуцкса користећи различите прегледаче са различитим колачићима.

Истакнути напад Мелтдовн-а пример је рањивости услова расе. У нападу на топљење, слабост се покреће паралелном обрадом података из меморије и аутентификацијом да ли је кориснику дозвољен приступ меморији или не. Ова мана омогућава алату да избегне стандардне провере привилегија које одвајају механизам напада од приступа ОС подацима. Ова рупа резултира омогућавањем било којем неовлашћеном процесу да прегледа податке и информације са било које друге адресе повезане са тренутним стањем напретка у меморији. У процесу неисправног извршавања, информације са неодобрене адресе често ће се брзо слагати у кеш меморију ЦПУ-а, одакле се информације могу опоравити.

Сценарији напада у стварном животу:

Непрекидним подношењем бројних захтева веб серверу можете претраживати и манипулисати условима трке у веб апликацијама. Ако желите да видите да ли можете подићи више новца него што имате на банковном рачуну, користећи функцију цурл, можете истовремено послати неколико захтева за повлачење на сервер.

увити (повући 50000) & (повући 50000) & (повући 50000) & (повући 50000) & (повући 50000) & (повући 50000)

Што више захтева поднесете у кратком року, веће су шансе да ће ваш напад успети.

Штавише, ако пошаљете асинхроне захтеве за праћењем, пратићете корисника неколико пута уместо да шаљете одговор на грешку. Ја.е., ако додате лажно заглавље које садржи% с док испуштате захтеве помоћу турбо уљеза и налепите следећи питхон код:

деф фолловРекс (циљ, листе речи):
енгине = РекуестЕнгине (крајња тачка = циљ.крајња тачка,
цонцуррентЦоннецтионс = 40,
захтевеПерЦоннецтион = 100,
цевовод = Нетачно
)
за опсег и у опсегу (40):
мотор.ред (циљ.рек, стр (и), гате = 'цхецк')
мотор.опенГате ('провери')
мотор.завршено (тимеоут = 60)
деф респонсеХандле (рек, занимљиво):
сто.додај (захтева)

Видећете дугме Аттацк. Након притиска на то, Турбо Интрудер шаље 40 упита и скенира статусне кодове. Ако видите више одговора са статусом 201 Генератед, то значи да сте више пута пратили особу.

Постоји рањивост услова расе у којој можете приступити више конзола које се нуде за бесплатне налоге. Већина веб локација које нуде бесплатне конзоле имају бесплатне налоге, стандардне и премиум пакете. Бесплатни налози пружају само 2 или 3 конзоле по кориснику. Да бисте прекинули ово ограничење и користили неограничене конзоле, упадајте у ГЕТ захтев користећи НУЛЛ корисне податке више пута, попут 100 или 200. А затим ручно избришите било коју конзолу из корисничког интерфејса док су нити покренуте.

Закључак:

Као начин подривања контроле приступа, укључени су и услови расе. Било који програм који зависи од механизама контроле приступа може бити рањив. Већину времена, на веб локацијама финансијских институција, хакери искоришћавају расе. Будући да би то могло довести до неограничене финансијске користи за хакера ако би се услови расе могли открити на виталним карактеристикама као што су подизање готовине, трансфер новца или плаћање кредитном картицом. Платформе за е-трговину, видео игре и услуге гласања на мрежи су друге високо ризичне технологије. Примена сигурне паралелности је тајна избегавања тркачких услова. А можете користити и браве ресурса. Такође ће бити уграђена функција закључавања за програмске језике са истовременим могућностима који помажу у спречавању таквих услова. Поред тога, следећи стандарде сигурног кодирања, тј.е., концепт најмање привилегија и ревизорски код смањит ће шансу за кршење програма.

СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...
Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...
0 А.Д. Приручник
Од многих стратешких игара тамо, 0 А.Д. успева да се истакне као свеобухватан наслов и врло дубока, тактичка игра упркос томе што је отворен извор. Ра...